- 04 Feb, 2011 10 commits
-
-
fschneider@chromium.org authored
Instead of constructing a temporary container for all LOperands of each instruction, the register works directly on the LIR instructions that provide an abstract interface for input/output/temp operands. This saves allocation of zone memory and speeds up LIR construction, but makes iterating over all uses in the register allocator slightly more expensive because environment uses are stored in a linked list of environments. We can fix this by using a flat representation of LOperands. Review URL: http://codereview.chromium.org/6352006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6368097 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Make sure that we don't actually overwrite a property that has failed access checsk with Object.defineProperty. Review URL: http://codereview.chromium.org/6246103 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
There was an unnecessary load on every statically-resolved context lookup. Remove it. This revealed a hidden bug in const initializers inside 'with'. They claim to be statically resolved (having slot type CONTEXT) but they occur in a spot where the runtime context chain and the static scope chain do not agree. This is fixed by special casing const initializers in the backend. Review URL: http://codereview.chromium.org/6384020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
karlklose@chromium.org authored
BUG=none TEST=none Review URL: http://codereview.chromium.org/6379007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6246099 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/6250126 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Review URL: http://codereview.chromium.org/6349105 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
fix the simulator behaviour. BUG=none TEST=added to cctest/test-assembler-arm.cc Patch by Rodolph Perfetta from ARM Ltd. Review URL: http://codereview.chromium.org/6368053 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Review URL: http://codereview.chromium.org/6371019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Feb, 2011 20 commits
-
-
peterhal@chromium.org authored
My previous patch added an assert which uncovered 1092 in the sputnik tests. This patch adds the fix for 1092, which is to ensure that NormalizeProperties does not get called for a JSGlobalProxy along all code paths. Add sputnik tests to .gitignore. BUG= TEST= Review URL: http://codereview.chromium.org/6286060 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
This extends logic applied to regular properties to elements. Review URL: http://codereview.chromium.org/6246055 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
LoadKeyedFastElement in lithium codegen. Tested locally by hardcoding DoTaggedToI to convert smis to untagged. Review URL: http://codereview.chromium.org/6312124 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
TBR=ricow Review URL: http://codereview.chromium.org/6312122 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
in lithium-x64. Review URL: http://codereview.chromium.org/6410060 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6366028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6312120 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Review URL: http://codereview.chromium.org/6410058 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
In addition to the regression test I changed the gc-extension to take a boolean flag specifying if compaction should be used (default is false, existing tests will not change behaviour) The regression test is disabled on arm and x64 with crankshaft enabled. I made a bug to track this: http://code.google.com/p/v8/issues/detail?id=1094 Review URL: http://codereview.chromium.org/6312118 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
It made value of allowed_access_type[v8::ACCESS_KEYS] be a wild value. On most of platforms it was 0 and tests passed. But on ARM (and on ia32 if you alter test a bit) it could become true and hence allow enumeration of properties. Review URL: http://codereview.chromium.org/6334089 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6312119 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Each context in the context chain has a corresponding hydrogen value. The context values are used for global object lookup and context slot lookup. Add simple (non-compound) assignment to context slots. Review URL: http://codereview.chromium.org/6390003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Review URL: http://codereview.chromium.org/6287030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6334086 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
We need to go down to actual global object to perform those operations. Review URL: http://codereview.chromium.org/6246054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Rewrite the lazy deopt patching code on IA32 to use addresses throughout, rather than offsets and a base address. Also, rename a couple of ambiguous Code fields from _start to _offset. Review URL: http://codereview.chromium.org/6334083 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/6368074 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6610 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
BUG=none TEST=none Patch by Rodolph Perfetta from ARM Ltd. Review URL: http://codereview.chromium.org/6248004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Aggregated snapshots: don't report unreachable objects. Full snapshots: restore forcing GC prior to taking a snapshot. I played with the repro page provided for the bug and found that GC must be performed prior to taking a snapshot even if we only report reachable objects. GC allows weak handles to finalize. Now heap profiler produces aligned results for the repro page in both modes. BUG=crbug/70434 TEST=none Review URL: http://codereview.chromium.org/6410030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
directory to make it easy for embedders to reproduce the copyright notice for binary redistribution. Removed now obsolete strongtalk directory. Review URL: http://codereview.chromium.org/6349067 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Feb, 2011 10 commits
-
-
antonm@chromium.org authored
Current approach returns undefined descriptor if caller is not granted v8::HAS_ACCESS. If the caller has v8::HAS_ACCESS, for no JS accessors regular v8::GET_ACCESS check is performed and value property of the descriptor is set to undefined if caller doesn't have proper access. For JS accessors both v8::GET_ACCESS and v8::SET_ACCESS are checked and affect if getter and setter would be stored in the descriptor. Review URL: http://codereview.chromium.org/6286020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Review URL: http://codereview.chromium.org/6312090 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
The arguments property of functions, if we find an optimized frame for the function, is always a freshly allocated object. We never try to find an existing arguments object. Review URL: http://codereview.chromium.org/6349050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/6347037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/6246045 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
TBR=whesse@chromium Review URL: http://codereview.chromium.org/6349049 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/6410028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Record a safepoint with a deoptimization id for throw in optimized code. We don't seem to much care what the AST ID is because we will not be using it for lazy deoptimization (throw doesn't return to the point of throw). For hygiene we use the actual ID of the throw expression. Throw is no longer a control-flow instruction, but it's followed by an unconditional abnormal exit. This is required to insert a simulate between the throw and the exit. Make our optimized treatment of Function.prototype.apply act like a call and have side effects. This ensures that it will get a lazy deoptimization environment. Use that deoptimization ID in the safepoint for the call. Deleting a property was also missing a deoptimization ID, though there was a deoptimization environment assigned to the instruction. Record the environment and use the deoptimization ID at the safepoint. Review URL: http://codereview.chromium.org/6250105 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
This enables proper stack unwinding on x64. Currently this requires V8 to be compiled without snapshot and --gdbjit-full to be enabled. Original patch by Sanjoy Das (http://codereview.chromium.org/6371011/) Review URL: http://codereview.chromium.org/6250104 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
an error message that needs to be generated and reported. This change hides all of the error information from JavaScript code so user callbacks cannot get hold of it. Review URL: http://codereview.chromium.org/6368051 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-