- 11 Apr, 2011 3 commits
-
-
fschneider@chromium.org authored
All platforms are now using the TypeRecordingBinaryOpStub. I also removed the ARM IntegerModStub which was called from the GenericBinaryOpStub. Review URL: http://codereview.chromium.org/6826032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The support for the old ABI is known to be broken and has been deprecated for some time now. Removed the instructions for loading and storing co-processor registers as they where only used to support the old ABI. R=karlklose@chromium.org BUG=v8:1316 TEST= Review URL: http://codereview.chromium.org//6822025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Looks like a copy/paste mistake. R=kmillikin@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org//6826031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Apr, 2011 3 commits
-
-
mmaly@chromium.org authored
- mutual inlining strict and non-strict functions in crankshaft. - assignment to undefined variable with eval in scope. - propagation of strict mode through lazy compilation. BUG= TEST=test/mjsunit/strict-mode.js test/mjsunit/strict-mode-opt.js Review URL: http://codereview.chromium.org/6814012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Turned out out that the setting of bit Map::kStringWrapperSafeForDefaultValueOf in Map::kStringWrapperSafeForDefaultValueOf was not done on the map but in some other memory location causing crashes. R=vegorov@chromium.org BUG=none TEST=mozilla/data/js1_2/String/slice.js (crashed only on ARM hardware) Review URL: http://codereview.chromium.org//6816054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Add ToBoolean-conversion of constants in Crankshaft and use it when generating a branch based on a constant. Review URL: http://codereview.chromium.org/6801050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Apr, 2011 7 commits
-
-
danno@chromium.org authored
R=ager@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/6814016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/6691058 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
- virtual-frame* - register-allocator* - jump-target* - most of codegen* - AstOptimizer and fields on AST There is a lot of additional cleanup that we should do but this gets rid of a lot. R=kmillikin@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/6811012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Review URL: http://codereview.chromium.org/6793017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Fix opmitized external array access for compound assignments and count operations, also implement missing ARM typed array Hydrogen loads and stores. BUG=none TEST=none Review URL: http://codereview.chromium.org/6805005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mmaly@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/6816012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Instead of adding an extra AST node we can just use an auxiliary bailout id for named and keyed property count operations. Review URL: http://codereview.chromium.org/6810015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Apr, 2011 3 commits
-
-
mmaly@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/6808001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mmaly@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/6804024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Enter/exit frames with save doubles use these instructions instead of generating 16 load/store instructions. R=karlklose@chromium.org, rodolph.perfetta@gmail.com BUG= TEST= Review URL: http://codereview.chromium.org//6691057 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Apr, 2011 1 commit
-
-
fschneider@chromium.org authored
It was only used in an ASSERT when reconstructing environments at lithium translation time. Review URL: http://codereview.chromium.org/6693062 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Apr, 2011 1 commit
-
-
sgjesse@chromium.org authored
All global stores are now supported in crankshaft by using the normal store IC when other optimizations are not possible due to the state of the global object. R=fschneider@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org//6693066 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Apr, 2011 8 commits
-
-
ager@chromium.org authored
Crankshaft is now the default on all platforms. This is the first patch on the way to removing the classic code generator from the system. This time with no removal of the crankshaft flag. --nocrankshaft is not at all the same as --always-full-compiler which I had used instead for testing. That was what caused timeouts on the buildbots because of repeated attempts to optimize hot functions. It makes sense to keep the crankshaft flag in case you want to run only with the full compiler and with no adaptive compilation. R=vitalyr@chromium.org Review URL: http://codereview.chromium.org/6759070 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6771052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
This reverts r7469 which might have caused the timeouts on the buildbot. TBR=ager@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org//6788009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
karlklose@chromium.org authored
Review URL: http://codereview.chromium.org/6760025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
In the cases where a global property cell cannot be used in the optimized code use standard load ic to get the property instead of bailing out. This is re-committing r7212 and r7215 which where reverted in r7239 with the addition of recoring the source position in the hydrogen code for the LoadGlobalCell instruction. To record that position an optional position field has been added to the variable proxy AST node. Review URL: http://codereview.chromium.org/6758007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Fix %NewObjectFromBound to correctly handle optimized frames (including those with inlined functions). Fix %_IsConstructCall handling in hydrogen: when called from inlined function return false constant directly instead of emiting HIsConstructCall. Fix success case in TraceInline. BUG=v8:1229 TEST=test/mjsunit/regress/regress-1229.js Review URL: http://codereview.chromium.org/6740023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Crankshaft is now the default on all platforms. This is the first patch on the way to removing the classic code generator from the system. R=kmillikin@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/6771045 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
R=sgjesse@chromium.org Review URL: http://codereview.chromium.org/6689006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Mar, 2011 1 commit
-
-
vitalyr@chromium.org authored
This patch introduces global once per-process initialization and moves the OS and CPU setup there. This makes CPU features isolate-independent. Review URL: http://codereview.chromium.org/6670119 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Mar, 2011 2 commits
-
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6778018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Review URL: http://codereview.chromium.org/6770011 Patch from Karl Klose <karlklose@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Mar, 2011 1 commit
-
-
sgjesse@chromium.org authored
The result of an Int32 binary operation will be converted to a smi if it fits. However a minus zero check was missing. BUG=v8:1278 TEST=test/mjsunit/regress/regress-1278.js R=ager@chromium.org Review URL: http://codereview.chromium.org/6755009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Mar, 2011 3 commits
-
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/6744006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
R=ager@chromium.org Review URL: http://codereview.chromium.org/6735007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6758003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Mar, 2011 3 commits
-
-
danno@chromium.org authored
BUG=none TEST=none Review URL: http://codereview.chromium.org/6730054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
The previous implementation attempted to keep track of the needed relocation size for deoptimization while generating the optimized code. That was error prone. This patch moves the relocation resizing to the deoptimizer as the last step of creating an optimized code object. The down side to this approach is that two relocation information byte arrays are created for all optimized functions that do not have enough relocation space for lazy deoptimization. R=sgjesse@chromium.org Review URL: http://codereview.chromium.org/6730050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
side is a constant. TEST=none BUG=none Patch by Rodolph Perfetta from ARM Ltd. Review URL: http://codereview.chromium.org/6730029/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Mar, 2011 2 commits
-
-
danno@chromium.org authored
Add specialized hydrogen and lithium instructions to support loading and storing to external arrays. Review URL: http://codereview.chromium.org/6656001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This change adds a new IR instruction for polymorphic loads. It performs map compares and loads in one IR instruction instead of splitting each load into a graph of map-compares and field loads. The advantage is a smaller IR and less basic blocks, plus it allows to do GVN on polymorphic loads. Review URL: http://codereview.chromium.org/6708085 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Mar, 2011 2 commits
-
-
ager@chromium.org authored
R=vitalyr@chromium.org Review URL: http://codereview.chromium.org/6717018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Get rid of the COUNTERS macro and fetch the counters from a locally stored isolate instead. R=karlklose@chromium.org Review URL: http://codereview.chromium.org/6723014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-