- 09 Mar, 2011 5 commits
-
-
kmillikin@chromium.org authored
Refactor construction of switch statements so it doesn't use class HSubgraph. There are also a few improvements. We do not use an auxiliary list of comparisons because they're embedded as a linked list in the graph under construction. We share a common break block for all breaks from the same switch. We do not insert empty blocks unless necessary to maintain edge-split form. There is also a bug fix. The entry to a clause body is a potential join and must have a join ID set, otherwise deoptimization within the body can go to an unpredictable place in the unoptimized code. Review URL: http://codereview.chromium.org/6650021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The change r7079 could allocate a few small code objects in large object space. Therefore the assert is no longer valid. Review URL: http://codereview.chromium.org/6647017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Non-moveable code-stube are allocated in large object space. They are only required on ARM where the different C-entry stubs are required to never move. This gets rid of pre-computing these stubs and hope that they never move. Also for crankshaft the C-entry stub which saved doubles is not generated in the snapshot so it ends up being generated at runtime and potentially move. Review URL: http://codereview.chromium.org/6626072 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/6648028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
This change uses ZoneObject as base class for our jumptable entry. In addition this change refactors the JumpTableEntry a bit. Review URL: http://codereview.chromium.org/6647012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Mar, 2011 9 commits
-
-
fschneider@chromium.org authored
Instead of allocating fresh temporary lists for every instruction, reuse the same instance and reset it between instructions. This reduces the amount of zone memory used for inserting the HChange instructions roughly by half. Review URL: http://codereview.chromium.org/6628079 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Disassemble is not available in release build Review URL: http://codereview.chromium.org/6635043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/6635042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Used incorrect register for referencing RegExp data, so it always failed to match the fast case. When modifiying the object layout, it was possible to make it crash instead. BUG=v8:1236 TEST=test/mjsunit/regress/regress-1236.js Review URL: http://codereview.chromium.org/6635041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Ensure that there is always enough bytes between consequtive calls in unoptimized code to write a call instruction at the return points without overlapping. This handles the case where two return points were only four bytes apart (because the latter call was to a register). BUG=v8:1234 Review URL: http://codereview.chromium.org/6624091 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Now mark SetElement as must use result The debugger runs inside its own context so there should be no setters hit. Which is the reason for the live-edit code asserting non-empty handles. Review URL: http://codereview.chromium.org/6621042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/6621068 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
karlklose@chromium.org authored
Review URL: http://codereview.chromium.org/6613015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This change splits the existing phi elimination into two phases: 1. Remove redundant phis 2. Remove dead phis with a fixed point iteration. The new approach allows us to remove dead phis that are connected in a cycle. Review URL: http://codereview.chromium.org/6624061 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Mar, 2011 12 commits
-
-
mmaly@chromium.org authored
Move strict mode flag from TemporaryScope to Scope so that it can be accessed from variable binding code. Arguments do not alias in strict mode (ia32, x64 and arm, codegen and full codegen). Hydrogen tolerates null arguments_shadow(). In codegen-<arch> arguments object is allocated eagerly to capture values before they get modified. Review URL: http://codereview.chromium.org/6625048/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
When deoptimizing after a conditional expression in an effect context, we should not see the value of the conditional expression. BUG=v8:1237 Review URL: http://codereview.chromium.org/6625057 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This avoids problems when getters/setters are defined on Object. BUG=v8:1232 Review URL: http://codereview.chromium.org/6625054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Function inlining no longer uses subgraphs. We detect inlining in an effect context and avoid materializing a return value earlier than we did before. Review URL: http://codereview.chromium.org/6635012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
karlklose@chromium.org authored
Review URL: http://codereview.chromium.org/6623053 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
TBR=whesse Review URL: http://codereview.chromium.org/6627049 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Change the way we construct the graph for polymorphic loads to match that of polymorphic stores. Introduce a stack-allocated helper for saving and restoring all the function-specific graph builder state that needs to change when we begin translating an inlined function. Make this class authoritative by moving redundant state out of the builder and deferring to the current function's state. Ensure that we always print a tracing message when abandoning an inlining attempt. Review URL: http://codereview.chromium.org/6628012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6627048 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Fixes issue 1234. BUG=v8:1234 Review URL: http://codereview.chromium.org/6624053 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6627046 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6626013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Move the value of the root-array register to offset 128 from the start of the root array. This allows indices 16..31 to be reached using only an 8-bit displacement, saving three bytes per access. Review URL: http://codereview.chromium.org/6594115 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Mar, 2011 12 commits
-
-
mmaly@chromium.org authored
BUG= TEST=test/mjsunit/strict-mode.js Review URL: http://codereview.chromium.org/6623002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
cira@chromium.org authored
Icu setText method keeps pointer to text, it doesn't copy it so we have to keep text around for the lifetime of the break iterator object, or next setText operation. Review URL: http://codereview.chromium.org/6609038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6626011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6623013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/6611020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6625013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
They do not use subgraphs or subgraph scopes. Instead of computing a list of single-block subgraphs and then adding all the edges afterward, build both the blocks and edges directly. Review URL: http://codereview.chromium.org/6615014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/6623010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/6615007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7056 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/6612017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mmaly@chromium.org authored
TBR=ager@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/6603032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mmaly@chromium.org authored
Throw if assigning to read only element. Adding tests for element assignment in strict mode. Fix tests for strict mode SetElement. Review URL: http://codereview.chromium.org/6613005/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Mar, 2011 2 commits
-
-
cira@chromium.org authored
This is vendor specific, and is prefixed by v8. WebKit layout tests will be added in a separate CL. Review URL: http://codereview.chromium.org/6610006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mmaly@chromium.org authored
Review URL: http://codereview.chromium.org/6611003/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-