- 07 Jun, 2013 1 commit
-
-
mstarzinger@chromium.org authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/16509004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jun, 2013 1 commit
-
-
verwaest@chromium.org authored
- Recover smi in phis if inputs are smi-typed - Don't record smi-typed values as pointers BUG= R=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/16240003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 May, 2013 1 commit
-
-
verwaest@chromium.org authored
BUG= R=verwaest@chromium.org Review URL: https://chromiumcodereview.appspot.com/15303004 Patch from Daniel Clifford <danno@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 May, 2013 2 commits
-
-
verwaest@chromium.org authored
Revert polymorphic stores suspect of crashes. Revert "Turn on tracking of fields." Revert "Turn polymorphic stores monomorphic if store sequence matches." Revert "Fix polymorphic store." R=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/14812010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/14696011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 May, 2013 3 commits
-
-
mstarzinger@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/14771015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/14650016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This changes the tiebreaker for LAllocator's ordering heuristic of live ranges to use the first use position instead of the first hinted use position. Searching for the first hinted position introduces unnecessary overhead. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/14855010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 May, 2013 1 commit
-
-
mstarzinger@chromium.org authored
This is a preparation which allows us to bump the virtual register width from 15 to 18 bit without sacrificing width for other fields inside an unallocated lithium operand. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/14639008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Apr, 2013 1 commit
-
-
mstarzinger@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/14524008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Apr, 2013 1 commit
-
-
vegorov@chromium.org authored
Allocator does not backtrack thus during allocation we must not create an unhandled live range which starts before the start of the current live range. If such range is added to the list of unhandled it might see an inconsistent state of active/inactive live-ranges as they are retired to handled as soon as start of the current live range is larger than their end. Add assertion to catch this kind of bugs early. TEST=NavierStokes does not fail on ARM Review URL: https://codereview.chromium.org/14262005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Apr, 2013 1 commit
-
-
mvstanton@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/13426006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Mar, 2013 1 commit
-
-
vegorov@chromium.org authored
When spilling live range with not register uses inside the loop try to move spilling out of the loop. This allows to minimize amount of memory moves on the back edge. R=danno@chromium.org BUG= Review URL: https://codereview.chromium.org/11437015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Mar, 2013 1 commit
-
-
svenpanne@chromium.org authored
Minor cleanups on the way, e.g. making sure that we never use something after an allocation failed. Style question: Should we switch to some kind of MUST_USE_RESULT-style to ensure that we handle failures consistently? Not sure... BUG=v8:2576 Review URL: https://codereview.chromium.org/12867002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Mar, 2013 1 commit
-
-
svenpanne@chromium.org authored
The predicate CanBeSpilled had a bug, prohibiting the necessary spilling and correct splitting of live ranges. Removed a redundant assertion immediately done by the callee anyway. Thanks to Slava for help with that issue and the entertaining historical background of the whole story... ;-) BUG=177883 Review URL: https://codereview.chromium.org/12631012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Feb, 2013 1 commit
-
-
danno@chromium.org authored
This includes: * Adding support for saving callee-clobbered double registers in Crankshaft code. * Adding a new "HTrapAllocationMemento" hydrogen instruction to handle AllocationSiteInfo data in crankshafted stubs. * Adding a new "HAllocate" hydrogen instruction that can allocate raw memory from the GC in crankshafted code. * Support for manipulation of the hole in HChange instructions for Crankshafted stubs. * Utility routines to manually build loops and if statements containing hydrogen code. Review URL: https://codereview.chromium.org/11659022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jan, 2013 1 commit
-
-
danno@chromium.org authored
If a live range was split immediately before an instruction that required a safe-point pointer map, it was possible for the safe-point to incorrectly use the register/stack slot information of the preceeding live range rather than the one that actually covers the safe-point. R=mstarzinger@chromium.org,vegorov@chromium.org Review URL: https://chromiumcodereview.appspot.com/12040052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Jan, 2013 1 commit
-
-
ulan@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/11428137 Patch from Hans Wennborg <hans@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Dec, 2012 1 commit
-
-
danno@chromium.org authored
R=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/11528003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Dec, 2012 1 commit
-
-
danno@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/11498006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Dec, 2012 1 commit
-
-
danno@chromium.org authored
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure. Committed: https://code.google.com/p/v8/source/detail?r=13105 Committed: https://code.google.com/p/v8/source/detail?r=13117 Review URL: https://codereview.chromium.org/10701054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Dec, 2012 2 commits
-
-
danno@chromium.org authored
TBR=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/11415261 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure. Committed: https://code.google.com/p/v8/source/detail?r=13105 Review URL: https://codereview.chromium.org/10701054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Nov, 2012 2 commits
-
-
danno@chromium.org authored
TBR=jkummerow@chromium.org Review URL: https://codereview.chromium.org/11414262 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure. Review URL: https://codereview.chromium.org/10701054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jul, 2012 2 commits
-
-
sanjoy@chromium.org authored
Rename LChunkBase to LChunk, LChunk to LPlatformChunk and remove some unneeded explicit constructor attributes. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10701157 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sanjoy@chromium.org authored
Crankshaft now runs by calling CreateGraph on the HGraphBuilder, then calling Optimize and Codegen on the HGraph. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10700115 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Jun, 2012 1 commit
-
-
sanjoy@chromium.org authored
By passing around a Zone object explicitly we no longer need to do a TLS access at the sites that allocate memory from the current Zone. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10534006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Apr, 2012 1 commit
-
-
fschneider@chromium.org authored
Until now we always recorded two deoptimization environments for instructions that are marked as calls. We actually don't need two for all LIR instructions except one (LInstanceOfKnownGlobal) where there is a lazy deoptimization point in deferred code. This change remove on of them and uses one virtual function instead to make LInstanceOfKnownGlobal work as before. Additionally, this change removes an unused predicate save_doubles_ from LIR instructions and removes some helper functions that are used only in one place. Review URL: https://chromiumcodereview.appspot.com/10035021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2012 1 commit
-
-
fschneider@chromium.org authored
This change includes two CLs by pliard@chromium.org: 1. http://codereview.chromium.org/9447052/ (Add CallOnce() and simple LazyInstance implementation): Note that this implementation of LazyInstance does not handle global destructors (i.e. the lazy instances are never deleted). This CL was initially reviewed on codereview.appspot.com: http://codereview.appspot.com/5687064/ 2. http://codereview.chromium.org/9455088/ (Remove static initializers in v8): This CL depends on CL 9447052 (adding CallOnce and LazyInstance). It is based on a patch sent by Digit. With this patch applied, we have only one static initializer left (in atomicops_internals_x86_gcc.cc). This static initializer populates a structure used by x86 atomic operations. It seems that we can hardly remove it. If possible, it will be removed in a next CL. This CL also modifies the presubmit script to check the number of static initializers. BUG=v8:1859 Review URL: https://chromiumcodereview.appspot.com/9666052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Mar, 2012 1 commit
-
-
fschneider@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9580005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Mar, 2012 1 commit
-
-
fschneider@chromium.org authored
By default --trace-hydrogen only generates the final IR (before code generation). The other phases can be printed by specifying them by their first letter. Currently H=HIR, L=LIR or Z=final IR (default) are recognized. Review URL: https://chromiumcodereview.appspot.com/9535009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Feb, 2012 1 commit
-
-
fschneider@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9416092 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Feb, 2012 1 commit
-
-
fschneider@chromium.org authored
Pass the zone explicitly to avoid calling Isolate::Current()->zone(). Review URL: https://chromiumcodereview.appspot.com/9430002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Feb, 2012 2 commits
-
-
fschneider@chromium.org authored
TBR=svenpanne@chromium.org Review URL: https://chromiumcodereview.appspot.com/9309079 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
1. Instead of checking upfront and estimating a limit for the number, we now are able to stop register allocation and bailout when we don't have enough virtual registers. 2. GCed some out-dated flags from flag-definition.h 3. Simplified the interface from the Lithium builder to the register allocator in lithium-*.cc: For uses and definitions, we just record the virtual register number given by the Hydrogen value id. For temporaries, we request a new virtual register from the allocator. For fixed temps, we don't need to do anything. 4. Increased number of deoptimization entries to 16K. Eventually we probably want to make this array grow dynamically. Review URL: https://chromiumcodereview.appspot.com/9325019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jan, 2012 1 commit
-
-
fschneider@chromium.org authored
Reading the virtual register from a LOperand is only needed used for unallocated LOperands (LUnallocated). There is no need for having a method for that on LOperand. Review URL: http://codereview.chromium.org/9293003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jan, 2012 1 commit
-
-
fschneider@chromium.org authored
1. This policy was only used for unused spill operands. I'm assigning an INVALID LOperand to those instead. As a result, we only need 3 bits to encode the policy and have one more available for virtual registers. 2. Furthermore, corrected the calculation of the maximal number of virtual registers and changed the upper limit for the size of the Hydrogen IR accordingly. 3. Doubled the maximal number of deoptimization entries to 8K. Review URL: http://codereview.chromium.org/9160018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jan, 2012 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/9139051 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Nov, 2011 1 commit
-
-
fschneider@chromium.org authored
Avoid spilling a live range that has a register use at the next instruction. The register use position has to be after the end of the next instruction so that we don't end up trying to split a live range at the beginning. BUG=105112 Review URL: http://codereview.chromium.org/8743011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-