- 02 May, 2013 2 commits
-
-
mstarzinger@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/14589008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
- 18 Apr, 2013 1 commit
-
-
danno@chromium.org authored
Review URL: https://codereview.chromium.org/14307006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Mar, 2013 1 commit
-
-
svenpanne@chromium.org authored
This is basically the same fix as the one for --trace-hydrogen, but now for --hydrogen-stats. Removed a few train wrecks on the way. Review URL: https://codereview.chromium.org/12481015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Feb, 2013 1 commit
-
-
ulan@chromium.org authored
R=mstarzinger@chromium.org BUG=crash on nosnap-debug with stress-compaction Review URL: https://chromiumcodereview.appspot.com/12256038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Feb, 2013 1 commit
-
-
jkummerow@chromium.org authored
BUG=173907 Review URL: https://codereview.chromium.org/12207063 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13617 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
-
-
ulan@chromium.org authored
Each map has a weak array of dependent codes, where the map tracks all the optimized codes that embed it. Old space GC either clears the dead dependent codes from the array if the corresponding map is alive or deoptimizes the live dependent codes if the map is dead. BUG=v8:2073 R=mstarzinger@chromium.org Review URL: https://chromiumcodereview.appspot.com/11575007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Dec, 2012 1 commit
-
-
danno@chromium.org authored
Review URL: https://codereview.chromium.org/11550005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13290 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
-
- 07 Dec, 2012 1 commit
-
-
rossberg@chromium.org authored
For strict-mode eval, this requires _disabling_ lazy parsing of inner functions, because we need to collect their free variables to do allocation for the eval scope properly. R=mstarzinger@chromium.org BUG=v8:2315 Review URL: https://codereview.chromium.org/11438042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13161 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
-
- 26 Sep, 2012 1 commit
-
-
mmassi@chromium.org authored
BUG=128252 Review URL: https://chromiumcodereview.appspot.com/10966031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Sep, 2012 1 commit
-
-
mstarzinger@chromium.org authored
This fixes materialization of arguments objects for strict mode functions during deoptimization. We materialize arguments from the stack area where optimized code pushes the arguments when entering the inlined environment. For adapted invocations we use the arguments adaptor frame for materialization. R=svenpanne@chromium.org BUG=v8:2261 TEST=mjsunit/regress/regress-2261,mjsunit/compiler/inline-arguments Review URL: https://chromiumcodereview.appspot.com/10908194 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Aug, 2012 1 commit
-
-
vegorov@chromium.org authored
Safe operations are those that either do not observe unsignedness or have special support for uint32 values: - all binary bitwise operations: they perform ToInt32 on inputs; - >> and << shifts: they perform ToInt32 on left hand side and ToUint32 on right hand side; - >>> shift: it performs ToUint32 on both inputs; - stores to integer external arrays (not pixel, float or double ones): these stores are "bitwise"; - HChange: special support added for conversions of uint32 values to double and tagged values; - HSimulate: special support added for deoptimization with uint32 values in registers and stack slots; - HPhi: phis that have only safe uses and only uint32 operands are uint32 themselves. BUG=v8:2097 TEST=test/mjsunit/compiler/uint32.js Review URL: https://chromiumcodereview.appspot.com/10778029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Aug, 2012 1 commit
-
-
svenpanne@chromium.org authored
This is a refactoring-only CL which improves the typing of IDs associated with AST nodes. The interesting parts are in utils.h and ast.h, the rest of the CL basically follows mechanically. Review URL: https://chromiumcodereview.appspot.com/10831172 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12263 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 Jul, 2012 2 commits
-
-
sanjoy@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10544196 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sanjoy@chromium.org authored
Divide the LChunk class into an arch-independent LChunkBase and an arch-dependent LChunk which inherits from LChunkBase. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10701141 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jun, 2012 1 commit
-
-
sanjoy@chromium.org authored
The CompilationInfo record now saves a Zone, and the compiler pipeline allocates memory from the Zone in the CompilationInfo. Before compiling a function, we create a Zone on the stack and save a pointer to that Zone to the CompilationInfo; which then gets picked up and allocated from. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10534139 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11877 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
-
- 04 Jun, 2012 1 commit
-
-
sanjoy@chromium.org authored
This CL changes some parts of the code to explicitly pass around a Zone. Not passing in a zone is okay too (in fact most of v8 still doesn't), but that may incur a TLS lookup. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10443114 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Mar, 2012 1 commit
-
-
svenpanne@chromium.org authored
This fixes 5 leaks, returning 1.6kB of lost memory. Shocking news: I've actually introduced a 2nd-order macro for myself. I guess I've been assimilated... ;-) Review URL: https://chromiumcodereview.appspot.com/9860028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11179 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
-
- 28 Feb, 2012 1 commit
-
-
mstarzinger@chromium.org authored
R=vegorov@chromium.org,kmillikin@chromium.org Review URL: https://chromiumcodereview.appspot.com/9304001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10849 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
-
- 31 Jan, 2012 1 commit
-
-
fschneider@chromium.org authored
We don't need to store the full representation for each value. Instead a bit to indicate tagged/untagged is enough. Review URL: http://codereview.chromium.org/9104042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10572 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 2 commits
-
-
vegorov@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9265004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
- 09 Jan, 2012 1 commit
-
-
danno@chromium.org authored
Loosen the requirement for Map equivalency on several map checks, including checks up the prototype chain, that are not sensitive to ElementsKinds. These selected map checks should also match against FAST_DOUBLE_ELEMENT and FAST_ELEMENT transitions of the original map. This specifically helps all variants of transitioned JSArrays to still efficiently call builtins like push, pop and sort. BUG=none TEST=none Committed: http://code.google.com/p/v8/source/detail?r=10331 Review URL: http://codereview.chromium.org/9015020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Jan, 2012 2 commits
-
-
danno@chromium.org authored
Due to perf regressions TBR=fschneider@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/8983027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Loosen the requirement for Map equivalency on several map checks, including checks up the prototype chain, that are not sensitive to ElementsKinds. These selected map checks should also match against FAST_DOUBLE_ELEMENT and FAST_ELEMENT transitions of the original map. This specifically helps all variants of transitioned JSArrays to still efficiently call builtins like push, pop and sort. BUG=none TEST=none Review URL: http://codereview.chromium.org/9015020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-