- 05 May, 2014 2 commits
-
-
bmeurer@chromium.org authored
Instead of adding code dependencies on stable during graph creation, we now add them during code generation for those HCheckMaps that survived dead code elimination. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/264973013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
- Move IsMapAccess() to HObjectAccess. - Collect the actual objects instead of HStoreNamedFields in effects, and also consider HTransitionElementsKind. - Fix ownership of HCheckMaps::maps() and HLoadNamedField::maps(). - Avoid heavy copying of the same map sets all the time during check elimination, and do something useful with the memory instead by slightly bumping the maximum number of tracked objects. - Slightly optimize UniqueSet::Contains(). R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/264693011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 May, 2014 2 commits
-
-
bmeurer@chromium.org authored
Basically we should not check for map deprecation during code selection, because that may run on the concurrent compiler thread. So the fix is to move this logic to the code generation phase instead, which is always run on the main thread. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/263803005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/256303007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Apr, 2014 3 commits
-
-
m.m.capewell@googlemail.com authored
R=bmeurer@chromium.org, ulan@chromium.org Review URL: https://codereview.chromium.org/262533006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21101 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
occur only when custom feedback needs to be gathered (future CLs). Now rebased on https://codereview.chromium.org/254623002/, which moves the type feedback vector to the SharedFunctionInfo. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/247373002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alexandre.rames@arm.com authored
R=jkummerow@chromium.org, ulan@chromium.org Review URL: https://codereview.chromium.org/258793002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2014 1 commit
-
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/259183002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Apr, 2014 2 commits
-
-
yangguo@chromium.org authored
R=hpayer@chromium.org Review URL: https://codereview.chromium.org/256993003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
m.m.capewell@googlemail.com authored
There are two TryConvertDoubleToInt64 functions: one rounds, the other checks if a double can be exactly represented as an int. This patch renames the second instance to reflect its purpose more clearly. BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/258933008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Apr, 2014 1 commit
-
-
Jacob.Bramley@arm.com authored
This fixes the following generated code sequence: movn w1, #0 // Synthesize -1. cmp w0, w1 With a properly-constructed Operand, the MacroAssembler can optimize it as follows: cmn w0, #1 BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/253513003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Apr, 2014 3 commits
-
-
Jacob.Bramley@arm.com authored
BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/247533005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
This CL mechanically removes all useless Isolate* parameters from code stub functions, making things quite a bit simpler. BUG=359977 LOG=y R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/255543003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
This is a purely mechanical change, adding an Isolate* to the CodeStub constructor and a corresponding field plus a getter. A few methods in CodeStub and its subclasses can be simplified now, but this is done in a separate CL. The underlying reason apart from simplicity is that deep down in the call chain we need to detect if the serializer is active or not. This information will be part of the Isolate, not a global variable with funky synchronization primitives around it (which is fundamentally wrong and the underlying cause for race conditions and a catch-22 during initialization). BUG=359977 LOG=y R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/246643014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Apr, 2014 3 commits
-
-
Jacob.Bramley@arm.com authored
The SXTW extend mode is usually free when used in a load or store operand, but it can slightly increase the latency of an arithmetic instruction. This patch optimises some address calculations accordingly: - PrepareKeyedExternalArrayOperand. - BuildSeqStringOperand. - DoStringCharFromCode. BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/247443002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/246423005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Drive-by-fix: map_set() must return a pointer to the UniqueSet instead of a copy. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/244383002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Apr, 2014 1 commit
-
-
bmeurer@chromium.org authored
This is an initial step towards tracking the exact types instead of just the representations of fields. It adds support to track up to one map of heap object field values, eliminating various map checks on values loaded from such fields, at the cost of making stores to such fields slightly more expensive. Issues with transitioning stores and fast object literals in Crankshaft fixed. TEST=mjsunit/field-type-tracking R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/238773002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Apr, 2014 3 commits
-
-
ulan@chromium.org authored
BUG=362128 LOG=Y TEST=mjsunit/regress/regress-362128 R=jacob.bramley@arm.com Review URL: https://codereview.chromium.org/226363007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
Revert r20701. TBR=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/236843002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
This is an initial step towards tracking the exact types instead of just the representations of fields. It adds support to track up to one map of heap object field values, eliminating various map checks on values loaded from such fields, at the cost of making stores to such fields slightly more expensive. TEST=mjsunit/field-type-tracking R=verwaest@chromium.org Review URL: https://codereview.chromium.org/167303005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Apr, 2014 1 commit
-
-
yangguo@chromium.org authored
R=ulan@chromium.org Review URL: https://codereview.chromium.org/225823003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Apr, 2014 1 commit
-
-
svenpanne@chromium.org authored
We should avoid ASR #0 on ARM. Simplified and improved code a bit while we're there on all platforms. Human brains are very bad at understanding nested structures... BUG=v8:3259 LOG=y R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/227553003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Apr, 2014 3 commits
-
-
https://codereview.chromium.org/172523002/mvstanton@chromium.org authored
This reverts commit r20516 due to a Sunspider performance issue. R=ishell@chromium.org Review URL: https://codereview.chromium.org/226233002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
https://codereview.chromium.org/172523002/mvstanton@chromium.org authored
Fixed 1) Missing line in x64 port. 2) GcStress found a logic error in the IC miss handler. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/224903005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alexandre.rames@arm.com authored
R=ulan@chromium.org Review URL: https://codereview.chromium.org/225703002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Apr, 2014 2 commits
-
-
mvstanton@chromium.org authored
This reverts commit r20474 due to an x64 release issue. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/223823002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
Function calls are handled with a LoadIC and a FunctionCallStub. This works well, but we can create a platform to gather custom feedback by inventing a CallIC. CallIC takes a JSFunction as input, maintains UNINIT/MONO/MEGA state in a feedback slot, and engages in limited patching for the most efficient code. The change creates a degrade in NBody tests, but a follow-on CL addresses it by using this custom feedback platform to give a 45% improvement. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/172523002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Apr, 2014 1 commit
-
-
svenpanne@chromium.org authored
Removed some temporary marker comments on the way. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/218403006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Apr, 2014 2 commits
-
-
svenpanne@chromium.org authored
Previously we tried to share some code on by a slightly confusing re-use of LDivI for a (general) flooring division. Now we cleanly separate concerns, just like for the rest of the division-like operations. Note that ARM64 already did it this way. If we really want to save some code, we can introduce some macro assembler instructions and/or helper functions in the code generator in a future CL, but we should really try to avoid being "clever" to save just a few lines of trivial code. Effort != complexity. :-) Renamed some related Lithium operands on the way for more consistency. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/212703002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
R=dslomov@chromium.org Review URL: https://codereview.chromium.org/219213003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Mar, 2014 4 commits
-
-
verwaest@chromium.org authored
BUG= R=hpayer@chromium.org Review URL: https://codereview.chromium.org/218663005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
Reason for revert: crashes benchmarks/sunspider/string-fasta on ia32.debug This also reverts r20350 and r20352 > Fix LoadFieldByIndex to take mutable heap-numbers into account. > > BUG= > R=ishell@chromium.org > > Review URL: https://codereview.chromium.org/213213002 BUG=none LOG=n TBR=verwaest@chromium.org Revert "Use sarq on x64" This reverts commit e2a8ef9321345c6bc091054443bf2b9535ff6b1c. Revert "Don't | int and bool" This reverts commit c90d713d3a8ceba4fec41933a63beb6e50a3d7c0. Review URL: https://codereview.chromium.org/219393002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
BUG= R=ishell@chromium.org Review URL: https://codereview.chromium.org/213213002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
R=mvstanton@chromium.org, yangguo@chromium.org BUG=357105 TEST=test/mjsunit/regress/regress-357105.js LOG=N Review URL: https://codereview.chromium.org/216963002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Mar, 2014 3 commits
-
-
yangguo@chromium.org authored
R=dslomov@chromium.org Review URL: https://codereview.chromium.org/212163004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
m.m.capewell@googlemail.com authored
BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/211063004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alexandre.rames@arm.com authored
This includes fixes for the overflow case spotted in mjsunit/mul-exhaustive-part4. R=ulan@chromium.org Review URL: https://codereview.chromium.org/212573002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Mar, 2014 2 commits
-
-
ulan@chromium.org authored
Reason: mjsunit/mul-exhaustive-part4 fails in no snaphot debug. TBR=alexandre.rames@arm.com Review URL: https://codereview.chromium.org/211393002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
This splits all runtime function into 3 categories: 1) RUNTIME: implemented in runtime and called from both full and optimized code. 2) RUNTIME_HIDDEN: implemented in runtime, never called directly from JS builtins. 3) INLINE: inlined in both full and optimized code 4) INLINE_OPTIMIZED: inlined in optimized code, implemented in runtime for full code. R=yangguo@chromium.org, yannguo@chromium.org Review URL: https://codereview.chromium.org/209353006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-