- 01 Oct, 2013 1 commit
-
-
bmeurer@chromium.org authored
Right now we eagerly save all allocatable double registers upon entry to every Hydrogen code stub that uses HCallRuntime, and restore them when we return. Since the HCallRuntime is on the fallback path for code stubs, this is both a waste of time and stack space in almost every case. This patch adds a flag to the HCallRuntime, which controls whether the instruction saves the double register itself (using the save doubles flag for the CEntryStub), or whether its up the surrounding code to handle the clobbering of double registers. R=danno@chromium.org Review URL: https://codereview.chromium.org/23530066 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Sep, 2013 1 commit
-
-
bmeurer@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/23456044 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Sep, 2013 1 commit
-
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/24277002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Sep, 2013 4 commits
-
-
bmeurer@chromium.org authored
Since the per-context random number generator is now properly seeded upon context creation, we do not need to check for lazy-initialization anymore, and so we can implement the HRandom instruction w/o having to call into the C function (which means we don't need to MarkAsCall anymore). TEST=cctest/test-random R=yangguo@chromium.org Review URL: https://codereview.chromium.org/23478031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
olivf@chromium.org authored
Remove VerifyX87StackDepth from non-debug code. BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/23621038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
olivf@chromium.org authored
Need to investigate box2d regression. BUG= TBR=verwaest@chromium.org Review URL: https://codereview.chromium.org/23437028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
olivf@chromium.org authored
Since hydrogen will try to merge phi-inputs using registers, even if the values are spilled, we cannot mark LGoto as double clobbering instruction. BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/23068038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Sep, 2013 1 commit
-
-
olivf@chromium.org authored
+ Prevent truncating TaggedToI from bailing out. (This is a port of r16464) BUG= R=titzer@chromium.org Review URL: https://codereview.chromium.org/23938003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Sep, 2013 1 commit
-
-
titzer@chromium.org authored
Generate a custom OSR entrypoint for OSR compiles on all platforms, and transition to optimized code using the special entrypoint, instead of through the deoptimizer. Do not install the OSR compiled code as _the_ optimized code for a function. Remove OSR-related stuff from deoptimizer. BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/21340002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Sep, 2013 1 commit
-
-
olivf@chromium.org authored
+ Replace DeferredTaggedToINoSSE2 by DoubleToIStub and a fpu version. + Prevent truncating TaggedToI from bailing out. BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/22290005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Aug, 2013 1 commit
-
-
olivf@chromium.org authored
Fixed mac build. BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/23490022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Aug, 2013 2 commits
-
-
olivf@chromium.org authored
Mac builder has some problems compiling. BUG= R=rossberg@chromium.org Review URL: https://codereview.chromium.org/23496020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
olivf@chromium.org authored
When compiling deferred code we have to remember the corresponding stack state and ensure that the deferred code does not manipulate the order of elements. BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/23135018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Aug, 2013 4 commits
-
-
olivf@chromium.org authored
Additionally refactor the X87Stack tracking BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/20781007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
- Use V8_FINAL and V8_OVERRIDE in Ast classes. - Use V8_FINAL and V8_OVERRIDE in Lithium mips backend. - Use V8_FINAL and V8_OVERRIDE in Lithium arm backend. - Use V8_FINAL and V8_OVERRIDE in Lithium x64 backend. - Use V8_FINAL and V8_OVERRIDE in Lithium ia32 backend. - Use V8_FINAL and V8_OVERRIDE in Lithium classes. - Use V8_FINAL and V8_OVERRIDE in Hydrogen classes. TBR=dslomov@chromium.org Review URL: https://codereview.chromium.org/22796020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
This reverts commit r16232 for breaking the tools/gen-postmortem-metadata.py script. Will reland without the objects.{cc,h} changes. TBR=svenpanne@chromium.org Review URL: https://codereview.chromium.org/23143007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
- Use V8_FINAL and V8_OVERRIDE in objects. - Use V8_FINAL and V8_OVERRIDE in Ast classes. - Use V8_FINAL and V8_OVERRIDE in Lithium mips backend. - Use V8_FINAL and V8_OVERRIDE in Lithium arm backend. - Use V8_FINAL and V8_OVERRIDE in Lithium x64 backend. - Use V8_FINAL and V8_OVERRIDE in Lithium ia32 backend. - Use V8_FINAL and V8_OVERRIDE in Lithium classes. - Use V8_FINAL and V8_OVERRIDE in Hydrogen classes. R=dslomov@chromium.org Review URL: https://codereview.chromium.org/23064017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Aug, 2013 1 commit
-
-
verwaest@chromium.org authored
Only allow changing hole to nan if all uses allow undefined as nan. R=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/22152003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Aug, 2013 1 commit
-
-
verwaest@chromium.org authored
R=ulan@chromium.org Review URL: https://chromiumcodereview.appspot.com/22213002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Aug, 2013 1 commit
-
-
haitao.feng@intel.com authored
This patch is to enhance the source code line information for profiler. For the Hydrogen compilation, most of the source code line information is not copied from the HInstruction the to corresponding LInstruction. This patch defines one PositionBits field for LInstruction and copies the sorce code position value from the HInstruction. When Generating the native code, we use RecordPosition(..) function to write LInstruction's position value to position recorder. For the MIPS platform, I did not touch because I have no devices to verify the modification on it. R=danno@chromium.org Review URL: https://codereview.chromium.org/21042003 Patch from Chunyang Dai <chunyang.dai@intel.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Aug, 2013 1 commit
-
-
mstarzinger@chromium.org authored
This change implements a simple data-flow analysis pass over captured objects to the existing escape analysis. It tracks the state of values in the Hydrogen graph through CapturedObject marker instructions that are used to construct an appropriate translation for the deoptimizer to be able to materialize these objects again. This can be considered a combination of scalar replacement of loads and stores on captured objects and sinking of unused allocations. R=titzer@chromium.org TEST=mjsunit/compiler/escape-analysis Review URL: https://codereview.chromium.org/21055011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Aug, 2013 1 commit
-
-
svenpanne@chromium.org authored
R=mstarzinger@chromium.org, verwaest@chromium.org Review URL: https://codereview.chromium.org/22184004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Aug, 2013 1 commit
-
-
verwaest@chromium.org authored
Currently only direct map checks are supported. Otherwise only polymorphic cases with a generic fallback behave properly, regular polymorphic cases still need to be adapted. R=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/21536003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Aug, 2013 1 commit
-
-
loislo@chromium.org authored
I'd like to propagate bailout reason to cpu profiler. So I need to save it into heap object SharedFunctionInfo. But: 1) all bailout reason strings spread across all the sources. 2) they are native strings and if I convert them into String then I may have a performance issue. 3) one byte is enough for 184 bailout reasons. Otherwise we need 8 bytes for the pointer. Also I think it would be nice to have error strings collected in one place. In that case we will get additional benefits: It allows us to keep this set of messages under control. It gives us a chance to internationalize them. It slightly reduces the binary footprint. From the other hand the developers have to add new strings into that enum. BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/20843012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Aug, 2013 1 commit
-
-
ulan@chromium.org authored
Make sure that all stack pages are mapped before accessing them. R=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/20607005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Jul, 2013 1 commit
-
-
bmeurer@chromium.org authored
This adds generic support for ExternalReferences in Hydrogen (and Lithium), as required for AddIncrementCounter. R=danno@chromium.org, titzer@chromium.org Review URL: https://codereview.chromium.org/19562003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Jul, 2013 2 commits
-
-
verwaest@chromium.org authored
R=svenpanne@chromium.org Review URL: https://chromiumcodereview.appspot.com/20070005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mmassi@chromium.org authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/17568015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jul, 2013 1 commit
-
-
verwaest@chromium.org authored
R=yangguo@chromium.org Review URL: https://chromiumcodereview.appspot.com/19485008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Jul, 2013 1 commit
-
-
danno@chromium.org authored
BUG=chromium:258519 R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/19528003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Jul, 2013 1 commit
-
-
mstarzinger@chromium.org authored
This essentially relands r14930 and r14935 with adaptions to the current code base. It models the instantiation of an implicit receiver for CallNew nodes in hydrogen using HAllocate together with generic stores instead of one specialized HAllocateObject instruction, hence creating a single choking point for inlined allocation in optimized code. R=hpayer@chromium.org Review URL: https://codereview.chromium.org/19207002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Jul, 2013 1 commit
-
-
olivf@chromium.org authored
BUG= R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/18041003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Jul, 2013 1 commit
-
-
danno@chromium.org authored
- Constants globals are inlined into Hydrogen code using code dependencies that invalidate the Crankshafted code when global PropertyCells or the global object change. - The more general case generates code that is just as good as the hand-written assembly stubs on all platforms. R=rossberg@chromium.org, ulan@chromium.org Committed: http://code.google.com/p/v8/source/detail?r=15419 Review URL: https://codereview.chromium.org/16925008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Jul, 2013 2 commits
-
-
danno@chromium.org authored
TBR=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/18357004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
- Constants globals are inlined into Hydrogen code using code dependencies that invalidate the Crankshafted code when global PropertyCells or the global object change. - The more general case generates code that is just as good as the hand-written assembly stubs on all platforms. R=ulan@chromium.org Review URL: https://codereview.chromium.org/16925008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Jun, 2013 1 commit
-
-
olivf@chromium.org authored
BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/16026023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jun, 2013 2 commits
-
-
olivf@chromium.org authored
Lithium codegen should not pass around block_ids. Rather encapsulate the basic block to assembly label mapping in the LInstruction. BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/17276002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This is a temporary revert to track down a potential perf regression introduced in r14930. The following two changes were reverted: - "Deprecate HAllocateObject in favor of HAllocate." - "Added pretenuring support for call new." R=danno@chromium.org BUG=chromium:247504 Review URL: https://codereview.chromium.org/17491002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jun, 2013 2 commits
-
-
mstarzinger@chromium.org authored
This allows the deoptimizer to materialize objects (e.g. the arguments object) while deopting without having a consective stack area holding the object values. The LEnvironment explicitly tracks locations for these values and preserves them in the translation. R=svenpanne@chromium.org TEST=mjsunit/compiler/inline-arguments Review URL: https://codereview.chromium.org/16779004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG=248076 R=ulan@chromium.org Review URL: https://chromiumcodereview.appspot.com/16782004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-