hpayer@chromium.org
652e1355a7
Fix marking time in cumulative gc stats.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/708483004
Cr-Commit-Position: refs/heads/master@{#25192}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 12:59:31 +00:00
dcarney@chromium.org
a350f0d608
[turbofan] phis cannot take registers as inputs
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/704153002
Cr-Commit-Position: refs/heads/master@{#25191}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 12:56:44 +00:00
verwaest@chromium.org
f26d93e6f0
Allow JSArray fast moving elements even if the array's proto isn't Array.prototype in original state
...
Otherwise array builtins don't work on internal arrays.
BUG=v8:3681
LOG=n
R=machenbach@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/706703005
Cr-Commit-Position: refs/heads/master@{#25190}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 12:56:12 +00:00
bmeurer@chromium.org
35cc4af769
[turbofan] Push TruncateFloat64ToInt32 into phis.
...
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/707683003
Cr-Commit-Position: refs/heads/master@{#25189}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 12:38:47 +00:00
mstarzinger@chromium.org
f9575cef57
Remove workaround for successors on end block from scheduler.
...
R=titzer@chromium.org
TEST=cctest/test-scheduler/RPOLoop
Review URL: https://codereview.chromium.org/708763002
Cr-Commit-Position: refs/heads/master@{#25188}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 12:31:52 +00:00
bmeurer@chromium.org
9b72f14ced
Turn ToNumberStub into a PlatformCodeStub again.
...
The HydrogenCodeStub is too expensive and there's no easy way to reduce
this cost, so turning it into a PlatformCodeStub solves that problem
until we can use TurboFan for code stubs.
TEST=mjsunit
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/683913008
Cr-Commit-Position: refs/heads/master@{#25187}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 12:02:16 +00:00
machenbach@chromium.org
d04038bde5
Skip json2 on 64 bits debug.
...
BUG=3681
LOG=n
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/701353003
Cr-Commit-Position: refs/heads/master@{#25186}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 11:53:13 +00:00
ishell@chromium.org
e1f93a82f2
Fix for an assertion failure in Map::FindTransitionToField(...). Appeared after r25136.
...
BUG=chromium:430846
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/704183002
Cr-Commit-Position: refs/heads/master@{#25185}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 11:50:33 +00:00
mstarzinger@chromium.org
0b985c492e
Reuse RPO traversal stack in the scheduler.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/695303003
Cr-Commit-Position: refs/heads/master@{#25184}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 11:40:46 +00:00
ishell@chromium.org
89617f06d1
Skip tests that timeout on arm64
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/709443002
Cr-Commit-Position: refs/heads/master@{#25183}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 10:24:49 +00:00
svenpanne@chromium.org
d56a21ebff
The idea behind of this solution is to use the existing "relocation info" instead of consumption the CodeLinePosition events emitted by the V8 compilers.
...
During generation code and relocation info are generated simultaneously.
When code generation is done you each code object has associated "relocation info".
Relocation information lets V8 to mark interesting places in the generated code: the pointers that might need to be relocated (after garbage collection),
correspondences between the machine program counter and source locations for stack walking.
This patch:
1. Add more source positions info in reloc info to make it suitable for source level mapping.
The amount of data should not be increased dramatically because (1) V8 already marks interesting places in the generated code and
(2) V8 does not write redundant information (it writes a pair (pc_offset, pos) only if pos is changed and skips other).
I measured it on Octane benchmark - for unoptimized code the number of source positions may achieve 2x ('lin_solve' from NavierStokes benchmark).
2. When a sample happens, CPU profiler finds a code object by pc, then use its reloc info to match the sample to a source line.
If a source line is found that hit counter is increased by one for this line.
3. Add a new public V8 API to get the hit source lines by CDT CPU profiler.
Note that it's expected a minor patch in Blink to pack the source level info in JSON to be shown.
4.Add a test that checks how the samples are distributed through source lines.
It tests two cases: (1) relocation info created during code generation and (2) relocation info associated with precompiled function's version.
Patch from Denis Pravdin <denis.pravdin@intel.com>;
R=svenpanne@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/682143003
Patch from Weiliang <weiliang.lin@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25182}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 09:17:14 +00:00
mstarzinger@chromium.org
361d7b0f0e
Avoid redundant work in scheduler loop header/depth calculation.
...
R=jarin@chromium.org
TEST=cctest/test-scheduler/LoopedFloatingDiamond2
Review URL: https://codereview.chromium.org/702683002
Cr-Commit-Position: refs/heads/master@{#25181}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 09:15:42 +00:00
bmeurer@chromium.org
8798c410e1
[turbofan] Turn various diamonds into selects.
...
TEST=cctest/test-changes-lowering,mjsunit/asm,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/704463004
Cr-Commit-Position: refs/heads/master@{#25180}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 09:10:32 +00:00
marja@chromium.org
abb5fd1ee1
Retry: Parser & internalization fix: ensure no heap allocs during GetString(Handle<String>).
...
The bug has always been there: when the parser is operating in the "immediately
internalize" mode and calls GetString, we get FlatContent of a string and then
do heap allocation.
The bug was uncovered by https://codereview.chromium.org/693803004/ (which put
the parser to the "immediately internalize" mode more often), but looking at the
code, it's possible that it can happen in other cases too.
This CL makes AstValueFactory handle this situation gracefully: it won't try to
internalize inside GetString(Handle<String>); it's unnecessary anyway since we
have the Handle<String> already.
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/706533005
Cr-Commit-Position: refs/heads/master@{#25179}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 08:29:17 +00:00
dcarney@chromium.org
57b42dc51f
[turbofan] extend register allocator testing with control flow
...
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/699083003
Cr-Commit-Position: refs/heads/master@{#25178}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 08:28:45 +00:00
bmeurer@chromium.org
a7277a9b8c
MIPS: Skip embenchen tests on big-endian.
...
Emscripten requires little-endian arch. It has assertion for endianness:
assert(HEAPU8[0] === 255 && HEAPU8[3] === 0,
'Typed arrays 2 must be run on a little-endian system');
TEST=mjsunit/asm/embenchen/*
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/708663003
Patch from Paul Lind <paul.lind@imgtec.com>.
Cr-Commit-Position: refs/heads/master@{#25177}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 06:18:42 +00:00
bmeurer@chromium.org
881cece8de
[turbofan] Transform x * -1.0 to -0.0 - x.
...
TEST=msjunit/asm,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/683753004
Cr-Commit-Position: refs/heads/master@{#25176}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 06:13:46 +00:00
paul.lind@imgtec.com
f3b633cc0c
MIPS: Fix uint32div bug after r25103.
...
The div and mod instructions on MIPS are not safe for rhs 0.
TEST=test/mjsunit/asm/uint32div.js
BUG=
R=akos.palfi@imgtec.com
Review URL: https://codereview.chromium.org/704013002
Cr-Commit-Position: refs/heads/master@{#25174}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 22:49:13 +00:00
machenbach@chromium.org
b19ecf9753
Whitespace change to trigger bots (5)
...
Cr-Commit-Position: refs/heads/master@{#25173}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 22:09:11 +00:00
machenbach@chromium.org
2593eb3dab
Whitespace change to trigger bots (4)
...
Cr-Commit-Position: refs/heads/master@{#25172}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 22:05:42 +00:00
machenbach@chromium.org
394a5d3cb0
Whitespace change to trigger bots (3)
...
Cr-Commit-Position: refs/heads/master@{#25171}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 22:02:47 +00:00
machenbach@chromium.org
6e48921aa2
Whitespace change to trigger bots (2)
...
Cr-Commit-Position: refs/heads/master@{#25170}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 21:59:22 +00:00
machenbach@chromium.org
e55a95d10d
Whitespace change to trigger bots (1)
...
Cr-Commit-Position: refs/heads/master@{#25169}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 21:55:23 +00:00
dusan.milosavljevic@imgtec.com
032ae8e876
MIPS: Fix instruction selection test expectations after r25120.
...
TEST=unittests/InstructionSelectorCmpTest.Parameter,
InstructionSelectorTest.Word32EqualWithZero
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/706633003
Cr-Commit-Position: refs/heads/master@{#25167}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 18:51:43 +00:00
ishell@chromium.org
023c5e2f82
Skip tests that timout on arm64
...
TBR=machenbach@chromium.org , bmeurer@chromium.org
Review URL: https://codereview.chromium.org/702163002
Cr-Commit-Position: refs/heads/master@{#25166}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 17:03:01 +00:00
mstarzinger@chromium.org
2235b52511
Fix printing and verification of RPO computation.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/700153002
Cr-Commit-Position: refs/heads/master@{#25165}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 15:45:52 +00:00
titzer@chromium.org
0f46c9b46a
Revert "[turbofan] Compute tighter ranges for modulus in Typer."
...
This reverts commit 482586747ca6bc0c94cc23f916fd190931d3a836.
TBR=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/702893002
Cr-Commit-Position: refs/heads/master@{#25164}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 15:19:45 +00:00
dcarney@chromium.org
9aa536f21a
fix assert in arm64 gap resolver
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/708473002
Cr-Commit-Position: refs/heads/master@{#25163}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 15:09:48 +00:00
titzer@chromium.org
b2800d7d87
[turbofan] Compute tighter ranges for modulus in Typer.
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/689133003
Cr-Commit-Position: refs/heads/master@{#25162}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 14:57:15 +00:00
machenbach@chromium.org
8db1bc7b06
Skip test in release mode for arm64
...
TBR=bmeurer@chromium.org , ishell@chromium.org
Review URL: https://codereview.chromium.org/701013006
Cr-Commit-Position: refs/heads/master@{#25161}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 14:39:43 +00:00
machenbach@chromium.org
fbb3898f96
Make slow tests on arm64
...
TBR=bmeurer@chromium.org , ishell@chromium.org
Review URL: https://codereview.chromium.org/701023003
Cr-Commit-Position: refs/heads/master@{#25160}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 14:32:46 +00:00
marja@chromium.org
ab5ae12e62
Revert "Parser & internalization fix: ensure no heap allocs during GetString(Handle<String>)."
...
This reverts r25155.
Reason: breaks webkit unit tests.
BUG=
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/707483002
Cr-Commit-Position: refs/heads/master@{#25159}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 14:32:17 +00:00
marja@chromium.org
dddeb98df9
Parser & internalization fix: ensure no heap allocs during GetString(Handle<String>).
...
The bug has always been there: when the parser is operating in the "immediately
internalize" mode and calls GetString, we get FlatContent of a string and then
do heap allocation.
The bug was uncovered by https://codereview.chromium.org/693803004/ (which put
the parser to the "immediately internalize" mode more often), but looking at the
code, it's possible that it can happen in other cases too.
This CL makes AstValueFactory handle this situation gracefully: it won't try to
internalize inside GetString(Handle<String>); it's unnecessary anyway since we
have the Handle<String> already.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/699343004
Cr-Commit-Position: refs/heads/master@{#25155}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 13:59:51 +00:00
machenbach@chromium.org
73835421d2
Make merge_to_branch more git-friendly.
...
BUG=410721
LOG=n
TEST=script_test.py
R=tandrii@chromium.org
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/702843002
Cr-Commit-Position: refs/heads/master@{#25154}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 13:31:23 +00:00
jkummerow@chromium.org
8a3aeb62d0
HPhis with HParameter inputs must have Tagged representation
...
BUG=v8:3670
LOG=n
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/702053002
Cr-Commit-Position: refs/heads/master@{#25153}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 13:24:43 +00:00
machenbach@chromium.org
90bfcce84b
Skip box2d for gc stress.
...
TBR=bmeurer@chromium.org , ishell@chromium.org
Review URL: https://codereview.chromium.org/696213003
Cr-Commit-Position: refs/heads/master@{#25152}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 13:12:46 +00:00
jarin@chromium.org
91eeae5849
[turbofan] Fix deopt for assignments in non-effect context.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/701853002
Cr-Commit-Position: refs/heads/master@{#25151}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 13:09:14 +00:00
machenbach@chromium.org
1b4c25e0b7
Fix fast-variants feature in test driver.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/701933003
Cr-Commit-Position: refs/heads/master@{#25150}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 13:05:46 +00:00
dcarney@chromium.org
ff5d8c16ce
[turbofan] optimize hot loop in ResolveControlFlow
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/694473002
Cr-Commit-Position: refs/heads/master@{#25149}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 12:47:14 +00:00
jkummerow@chromium.org
f96e386d9a
Replace C++ bitfields with our own BitFields
...
Shave this yak from orbit, it's the only way to be sure.
BUG=chromium:427616
LOG=n
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/700963002
Cr-Commit-Position: refs/heads/master@{#25148}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 12:41:46 +00:00
hpayer@chromium.org
66430307b5
Use compiler barrier instead of memory barrier for release/acquire atomic operations on mac.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/694703003
Cr-Commit-Position: refs/heads/master@{#25147}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 12:35:51 +00:00
Jacob.Bramley@arm.com
858a5e5319
ARM: optimize inlined doubles
...
Use 'vmov Dn[x], ip' instead of 'vmov Sn, ip' to load double immediates.
This patch is only useful for Turbofan as Crankshaft loads double immediates from the constant pool.
This give a little improvement on asm.js benchmarks
R=bmeurer@chromium.org , ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/704543002
Cr-Commit-Position: refs/heads/master@{#25146}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 11:51:13 +00:00
yangguo@chromium.org
6de28b2be1
Revert "Reland "Optimize function across closures.""
...
This reverts commit r25142.
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/702853002
Cr-Commit-Position: refs/heads/master@{#25145}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 11:37:42 +00:00
baptiste.afsa@arm.com
6246b096ab
[turbofan] Use load/store indexes as 64-bit registers on arm64.
...
Since r25024 load/store indexes are 64-bit value but arm64 backend was still
treating them as 32-bit value.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/698383003
Cr-Commit-Position: refs/heads/master@{#25144}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 11:36:15 +00:00
jarin@chromium.org
65f4716b3f
Handle store buffer slot overwrite during object promotion.
...
The bad scenario this fix handles:
We have a slot in a free list, then promote the object pointed-to by
the slot during scavenge. When allocating the space for the promoted
object, we overwrite the slot with the free list entry map if the
object is allocated just before the slot. After the allocation,
ScavengingVisitor::PromoteObject overwrites the slot with the
address of the allocated object, thus corrupting the free list.
Unfortunately, we do not have a way to construct a reliable repro
case because we would need to somehow craft a free list and store
buffer slot to be in the right configuration.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/695213004
Cr-Commit-Position: refs/heads/master@{#25143}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 11:28:15 +00:00
yangguo@chromium.org
1cdf4e9308
Reland "Optimize function across closures."
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/703603003
Cr-Commit-Position: refs/heads/master@{#25142}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 11:12:41 +00:00
bmeurer@chromium.org
0c1a545a93
[turbofan] Propagate "deferredness" to dominated basic blocks.
...
TEST=cctest/test-scheduler
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/686273005
Cr-Commit-Position: refs/heads/master@{#25141}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 10:44:12 +00:00
svenpanne@chromium.org
24079dda3a
Don't use C++11's std::trunc and std::round, use the traditional C functions.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/703893002
Cr-Commit-Position: refs/heads/master@{#25140}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 10:42:18 +00:00
machenbach@chromium.org
e0801075cd
Add fast-variants feature to test driver.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/704723002
Cr-Commit-Position: refs/heads/master@{#25139}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 10:39:15 +00:00
mstarzinger@chromium.org
b0aa81f30d
Make special RPO computation iterative during scheduling.
...
This contains the following changes squashed together:
- Switch BasicBlock::loop_end to be a basic block instead of an RPO.
- Switch ScheduleLate to use dominator depth instead of RPO.
- Switch ScheduleEarly to use dominator depth instead of RPO.
- Push out absolute RPO ordering everywhere else in the scheduler.
- Keep linked list of blocks in RPO order while scheduling.
- Switch from RPO number to depth for dominator calculation.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/696363002
Cr-Commit-Position: refs/heads/master@{#25138}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 10:10:54 +00:00