- 12 Feb, 2014 1 commit
-
-
ulan@chromium.org authored
BUG=v8:3113 LOG=Y R=jochen@chromium.org, rmcilroy@chromium.org, rodolph.perfetta@arm.com Review URL: https://codereview.chromium.org/148293020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Jan, 2014 1 commit
-
-
verwaest@chromium.org authored
BUG= R=dcarney@chromium.org Review URL: https://codereview.chromium.org/136403005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Dec, 2013 1 commit
-
-
ulan@chromium.org authored
BUG= R=hpayer@chromium.org Review URL: https://chromiumcodereview.appspot.com/99053002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Nov, 2013 1 commit
-
-
ulan@chromium.org authored
and preserve FP registers on NotifyStubFailure. In debug mode, clobber FP registers on each runtime call to increase chances of catching such bugs. R=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/78283002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Nov, 2013 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org BUG= Review URL: https://codereview.chromium.org/68933009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Nov, 2013 1 commit
-
-
bmeurer@chromium.org authored
This improves the generated code for HSeqStringSetChar across all platforms, taking advantage of constant operands whenever possible. It also drops the unused DefineSameAsFirst constraint for the register allocator on x64 and ia32, where it caused unnecessary spills when the string operand was live across the HSeqStringSetChar instruction. A new GVN flag StringChars is introduced to express dependencies between HSeqStringSetChar, HStringCharCodeAt and the upcoming HSeqStringGetChar (the GVNFlags type is now 64bit in size). Also improves the test case. TEST=mjsunit/string-natives R=mstarzinger@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/57383004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Oct, 2013 1 commit
-
-
titzer@chromium.org authored
BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/30023005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Oct, 2013 1 commit
-
-
danno@chromium.org authored
In the process: - Add a command-line flag --opt-code-positions to track source position information throughout optimized code. - Add a subclass of the hydrogen graph builder to ensure that the source position is properly set on the graph builder for all generated hydrogen code. - Overhaul handling of source positions in hydrogen to ensure they are passed through to generated code consistently and in most cases transparently. Originally reviewed in this CL: https://codereview.chromium.org/24957003/ Review URL: https://codereview.chromium.org/29123008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Oct, 2013 1 commit
-
-
danno@chromium.org authored
- Detect unreachable basic blocks of code either following an unconditional deopt or after a provably untaken branch of HBranch or HCompareObjectEqAndBranch instructions. - Emit dummy uses in unreachable blocks during Hydrogen -> Lithium translation. BUG=chromium:258519 R=jkummerow@chromium.org, mstarzinger@chromium.org Review URL: https://codereview.chromium.org/22876009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 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
-
- 27 Sep, 2013 1 commit
-
-
rodolph.perfetta@gmail.com authored
BUG=none TEST=none R=ulan@chromium.org Review URL: https://codereview.chromium.org/24596002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Sep, 2013 1 commit
-
-
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
-
- 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
-
- 20 Aug, 2013 3 commits
-
-
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
-
- 25 Jul, 2013 3 commits
-
-
m.m.capewell@googlemail.com authored
This patch prevents taking the low/high part of a double-precision VFP register that has no corresponding single-precision VFP registers. BUG=none TEST=Added to test-disasm-arm.cc, test-assembler-arm.cc Review URL: https://codereview.chromium.org/19560003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
- 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
-
- 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
-
- 11 Jun, 2013 2 commits
-
-
yangguo@chromium.org authored
This includes r15032, r15030 and r15005. R=ulan@chromium.org BUG=248076 Review URL: https://chromiumcodereview.appspot.com/16482004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
- In the INT32 BinaryOpStub, fix type feedback collection for DIV, bringing it in line with other platforms. - In Lithium codegen, emit proper inlined code, don't call the stub. - Drive-by fix: assert appropriate CpuFeaturesScope for SDIV. R=ulan@chromium.org Review URL: https://codereview.chromium.org/16082008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Jun, 2013 1 commit
-
-
yangguo@chromium.org authored
R=ulan@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/15896038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jun, 2013 1 commit
-
-
yangguo@chromium.org authored
R=ulan@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/16542003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Jun, 2013 1 commit
-
-
mstarzinger@chromium.org authored
This 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/15714005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 May, 2013 1 commit
-
-
verwaest@chromium.org authored
R=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/15952007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 May, 2013 1 commit
-
-
verwaest@chromium.org authored
R=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/15664005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-