Commit Graph

29753 Commits

Author SHA1 Message Date
caitpotter88
1a272ba23e [esnext] implement String padding proposal
Spec http://tc39.github.io/proposal-string-pad-start-end/

BUG=
LOG=Y
R=adamk@chromium.org, littledan@chromium.org

Review URL: https://codereview.chromium.org/1700003002

Cr-Commit-Position: refs/heads/master@{#35061}
2016-03-24 17:15:09 +00:00
mythria
fb65527b75 [Interpreter] Adds support to fetch return value on break at return.
Debugger fetches the return value of a function when we break at return.
Interpreter holds the return value in accumulator. This is not stored in a
specified location on stack and hence it is not possible to look it up from
stack similar to full-codegen or optimized frames. This cl adds support to
store the value of accumulator on debug breaks. The value of accumulator is
passed to the runtime function and is then stored in thread local data.

Also changes full-codegen implementation to match that of ignition.
The return value from full-codegen is also stored in thread local data.
The return value is fetched directly thread local data instead of
finding it by iterating over frames.

BUG=v8:4280, v8:4690
LOG=N

Review URL: https://codereview.chromium.org/1818873003

Cr-Commit-Position: refs/heads/master@{#35060}
2016-03-24 17:15:08 +00:00
rmcilroy
bdf953b5cc Revert of [Interpreter] Remove separate Ignition snapshot. (patchset #2 id:20001 of https://codereview.chromium.org/1833643002/ )
Reason for revert:
Makes nosnap bots timeout due to having to rebuild bytecode handlers.

Original issue's description:
> [Interpreter] Remove separate Ignition snapshot.
>
> Removes the seperate Ignition snapshot and build the Ignition bytecode
> handlers in the default snapshot.
>
> BUG=v8:4280
> LOG=N
>
> Committed: https://crrev.com/1798f3fe84faff32ba44e09f6aed79245dd98d80
> Cr-Commit-Position: refs/heads/master@{#35058}

TBR=machenbach@google.com,yangguo@chromium.org,mstarzinger@chromium.org,machenbach@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4280

Review URL: https://codereview.chromium.org/1827143002

Cr-Commit-Position: refs/heads/master@{#35059}
2016-03-24 17:13:10 +00:00
rmcilroy
1798f3fe84 [Interpreter] Remove separate Ignition snapshot.
Removes the seperate Ignition snapshot and build the Ignition bytecode
handlers in the default snapshot.

BUG=v8:4280
LOG=N

Review URL: https://codereview.chromium.org/1833643002

Cr-Commit-Position: refs/heads/master@{#35058}
2016-03-24 13:42:12 +00:00
machenbach
6280844e19 [Coverage] Make coverage a 100% experiment
BUG=chromium:568949
LOG=n
TBR=kjellander@chromium.org, tandrii@chromium.org
NOTRY=true
NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/1830153002

Cr-Commit-Position: refs/heads/master@{#35057}
2016-03-24 13:27:59 +00:00
titzer
6a806a5581 [wasm] Fix formal parameter count and parameter indexes in JS->wasm wrappers.
R=jarin@chromium.org,bradnelson@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1828223002

Cr-Commit-Position: refs/heads/master@{#35056}
2016-03-24 13:24:20 +00:00
ssanfilippo
529c032807 [Interpreter] Add OperandSize to code logging events for bytecode handlers.
BUG=v8:4280
LOG=N

Review URL: https://codereview.chromium.org/1827873002

Cr-Commit-Position: refs/heads/master@{#35055}
2016-03-24 11:19:15 +00:00
oth
e718f49a76 [interpreter] Fix memory leak in Bytecodes::Decode().
BUG=v8:4280
LOG=N

Review URL: https://codereview.chromium.org/1832653002

Cr-Commit-Position: refs/heads/master@{#35054}
2016-03-24 10:31:48 +00:00
ulan
bb9b74e754 Add memory pressure notification API
Based on CL 1777883002.

BUG=chromium:590975
LOG=NO

Review URL: https://codereview.chromium.org/1813963002

Cr-Commit-Position: refs/heads/master@{#35053}
2016-03-24 09:53:11 +00:00
alph
8b218d6464 Make sampling heap profiler work for short living scripts.
It might happen a script is gone during profiling. Handle that case.

Review URL: https://codereview.chromium.org/1826953003

Cr-Commit-Position: refs/heads/master@{#35052}
2016-03-24 06:06:48 +00:00
bmeurer
1abd78979c [turbofan] Introduce proper abstractions for ToNumber truncations.
Introduce TruncateTaggedToFloat64 and TruncateTaggedToWord32 into the
CodeStubAssembler, which encapsulates the ToNumber truncation and
returns the resulting number as either Float64 or further truncated to
Word32.

R=jarin@chromium.org
BUG=v8:4587
LOG=n

Review URL: https://codereview.chromium.org/1827813004

Cr-Commit-Position: refs/heads/master@{#35051}
2016-03-24 06:06:47 +00:00
v8-autoroll
373cf6b2a2 Update V8 DEPS.
Rolling v8/build/gyp to 8e8c3178d9d2734a6223b87fbd45ab250baf77e8

Rolling v8/tools/clang to c789a99803595dfa963ba300ac79b760d1304d8c

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review URL: https://codereview.chromium.org/1834583002

Cr-Commit-Position: refs/heads/master@{#35050}
2016-03-24 03:21:06 +00:00
littledan
7f108b655b Implement ES2015 labelled function declaration restrictions
ES#sec-islabelledfunction specifies that labelled function declarations
may not occur as the body of a control flow construct such as an if
statement. This patch implements those restrictions, which also
eliminates a previous case resulting in a DCHECK failure which is now
a SyntaxError.

BUG=chromium:595309
R=adamk
LOG=Y

Review URL: https://codereview.chromium.org/1808373003

Cr-Commit-Position: refs/heads/master@{#35049}
2016-03-24 01:59:47 +00:00
bradnelson
b224651b73 Fixing invalid asm.js in asm-wasm-literals.js
This was previously undetected due to a now fixed typing bug.

BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203
TEST=test-asm-validator,asm-wasm
TBR=titzer@chromium.org
LOG=N
NOTRY=true

Review URL: https://codereview.chromium.org/1823333005

Cr-Commit-Position: refs/heads/master@{#35048}
2016-03-24 00:00:39 +00:00
bradnelson
e4616fb981 Disable asm-wasm-literals test for some arches.
BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203
TEST=test-asm-validator,asm-wasm
TBR=titzer@chromium.org
LOG=N
NOTRY=true

Review URL: https://codereview.chromium.org/1832623003

Cr-Commit-Position: refs/heads/master@{#35047}
2016-03-23 23:45:02 +00:00
bradnelson
942ed11488 Properly handle unsigned literals, fix typing issue with unary +.
Properly convert unsigned literals.
Forbid using unary + on a kAsmInt.
Forbid multiplies other than * 1.0 as being equivalent to unary +.

BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203
TEST=test-asm-validator,asm-wasm
R=titzer@chromium.org,aseemgarg@chromium.org
LOG=N

Review URL: https://codereview.chromium.org/1832603002

Cr-Commit-Position: refs/heads/master@{#35046}
2016-03-23 23:21:21 +00:00
titzer
3e0b6daf54 [wasm] Add more extensive tests for asm->wasm translation.
R=bradnelson@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1825333004

Cr-Commit-Position: refs/heads/master@{#35045}
2016-03-23 23:19:22 +00:00
mtrofin
f3e080c216 Dummy change to track effect of bot bios settings
BUG=

Review URL: https://codereview.chromium.org/1826023003

Cr-Commit-Position: refs/heads/master@{#35044}
2016-03-23 23:15:28 +00:00
mstarzinger
4560fe179f [es6] Ship new ES6 instanceof operator semantics.
R=hablich@chromium.org
BUG=v8:4447
LOG=n

Review URL: https://codereview.chromium.org/1822263003

Cr-Commit-Position: refs/heads/master@{#35043}
2016-03-23 19:33:35 +00:00
ulan
e2c2a095db Remove unused GcTracer functions.
BUG=chromium:597310
LOG=NO

Review URL: https://codereview.chromium.org/1828743002

Cr-Commit-Position: refs/heads/master@{#35042}
2016-03-23 18:06:35 +00:00
bradnelson
c728dad8b8 Enable embenchen/copy for wasm.
This got fixed by this change:
    https://crrev.com/32a2ab0c724673961aa145ab63c79a29e6d28fa8

Adding a smaller mjsunit test capturing the issue (was with idiv register allocation).

BUG= https://bugs.chromium.org/p/chromium/issues/detail?id=593283
R=aseemgarg@chromium.org,titzer@chromium.org
LOG=N
TEST=asm-wasm-copy

Review URL: https://codereview.chromium.org/1820163002

Cr-Commit-Position: refs/heads/master@{#35041}
2016-03-23 17:50:05 +00:00
alph
4606211d5c Make line level profile ignore positions coming from inlined functions.
BUG=590936
LOG=N

Review URL: https://codereview.chromium.org/1816393002

Cr-Commit-Position: refs/heads/master@{#35040}
2016-03-23 17:13:40 +00:00
machenbach
2ef81f1d17 [Ignition] Add automatic reports for ignition issues on clusterfuzz.
NOTRY=true

Review URL: https://codereview.chromium.org/1829753002

Cr-Commit-Position: refs/heads/master@{#35039}
2016-03-23 16:35:47 +00:00
machenbach
1ac34fadd0 Reland of [elements] Minor hardening and cleanup of concat (patchset #1 id:1 of https://codereview.chromium.org/1825363002/ )
Reason for revert:
Test disabled. See:
https://codereview.chromium.org/1830583002/

Original issue's description:
> Revert of [elements] Minor hardening and cleanup of concat (patchset #7 id:120001 of https://codereview.chromium.org/1812753004/ )
>
> Reason for revert:
> [Sheriff] Something seems to leak:
> https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN/builds/10838
>
> I don't see the direct connection to this CL though...
>
> Original issue's description:
> > [elements] Minor hardening and cleanup of concat
> >
> > BUG=
> >
> > Committed: https://crrev.com/b98b3fbbe3dd14548cb356339f52403c07ef33f4
> > Cr-Commit-Position: refs/heads/master@{#35027}
>
> TBR=jkummerow@chromium.org,cbruni@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=
>
> Committed: https://crrev.com/d30d861a0cb0da11efd3b30eb3d03fbe56b4ba23
> Cr-Commit-Position: refs/heads/master@{#35028}

TBR=jkummerow@chromium.org,cbruni@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
BUG=

Review URL: https://codereview.chromium.org/1827573003

Cr-Commit-Position: refs/heads/master@{#35038}
2016-03-23 16:31:56 +00:00
verwaest
dc6b7855c4 Support multi-arg fast push support
Deoptimizing from the stub is fairly slow, so add support for the other fast-path cases to avoid deopts. Notably, push with multi-arg is used by pdfjs.

BUG=chromium:597252
LOG=n

Review URL: https://codereview.chromium.org/1825843002

Cr-Commit-Position: refs/heads/master@{#35037}
2016-03-23 16:26:29 +00:00
machenbach
5d8969e417 [test] Disable flaky test on asan.
NOTRY=true
TBR=oth@chromium.org, rmcilroy@chromium.org, cbruni@chromium.org

Review URL: https://codereview.chromium.org/1830583002

Cr-Commit-Position: refs/heads/master@{#35036}
2016-03-23 16:11:50 +00:00
machenbach
25326bf8fd Reland of [counters] adding runtime call timers for GC (patchset #1 id:1 of https://codereview.chromium.org/1827563003/ )
Reason for revert:
Reverting doesn't help here :/ Will disable the test.

Original issue's description:
> Revert of [counters] adding runtime call timers for GC (patchset #4 id:60001 of https://codereview.chromium.org/1825093002/ )
>
> Reason for revert:
> [Sheriff] ASAN bot is really badass today:
> https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN/builds/10844
>
> Original issue's description:
> > [counters] adding runtime call timers for GC
> >
> > Adding an additional timer for the GC to make the other runtime call counters
> > more stable.
> >
> > BUG=
> >
> > Committed: https://crrev.com/9ec649638d553a891b0356155f4f15f3a260c1af
> > Cr-Commit-Position: refs/heads/master@{#35033}
>
> TBR=ulan@chromium.org,cbruni@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=
>
> Committed: https://crrev.com/a1521c90d54bf4cdaaf4c6ae549d297d5779ac08
> Cr-Commit-Position: refs/heads/master@{#35034}

TBR=ulan@chromium.org,cbruni@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.chromium.org/1826833002

Cr-Commit-Position: refs/heads/master@{#35035}
2016-03-23 16:04:27 +00:00
machenbach
a1521c90d5 Revert of [counters] adding runtime call timers for GC (patchset #4 id:60001 of https://codereview.chromium.org/1825093002/ )
Reason for revert:
[Sheriff] ASAN bot is really badass today:
https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN/builds/10844

Original issue's description:
> [counters] adding runtime call timers for GC
>
> Adding an additional timer for the GC to make the other runtime call counters
> more stable.
>
> BUG=
>
> Committed: https://crrev.com/9ec649638d553a891b0356155f4f15f3a260c1af
> Cr-Commit-Position: refs/heads/master@{#35033}

TBR=ulan@chromium.org,cbruni@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.chromium.org/1827563003

Cr-Commit-Position: refs/heads/master@{#35034}
2016-03-23 15:39:08 +00:00
cbruni
9ec649638d [counters] adding runtime call timers for GC
Adding an additional timer for the GC to make the other runtime call counters
more stable.

BUG=

Review URL: https://codereview.chromium.org/1825093002

Cr-Commit-Position: refs/heads/master@{#35033}
2016-03-23 15:04:20 +00:00
machenbach
7a05ddd4bb Revert of [CQ] Make gn bot temporarily experimental. (patchset #1 id:1 of https://codereview.chromium.org/1829673002/ )
Reason for revert:
Bot compiles blink only now and works again.

Original issue's description:
> [CQ] Make gn bot temporarily experimental.
>
> TBR=sergiyb@chromium.org, dpranke@chromium.org
> BUG=chromium:481693
> LOG=n
> NOTRY=true
> NOPRESUBMIT=true
>
> Committed: https://crrev.com/b072760b99f45839e6b4ebeffc46c5d4e8c3a6e3
> Cr-Commit-Position: refs/heads/master@{#35026}

TBR=sergiyb@chromium.org,dpranke@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:481693

Review URL: https://codereview.chromium.org/1826783002

Cr-Commit-Position: refs/heads/master@{#35032}
2016-03-23 14:30:07 +00:00
hpayer
9b54762809 [heap] RecordWrites iterates black object to ensure marking progress.
RecordWrites is not performing black to grey transitions anymore. In a follow up CL I will clean-up the remaining sites where we do black to grey, e.g. when we overflow marking deque.

BUG=

Review URL: https://codereview.chromium.org/1823783003

Cr-Commit-Position: refs/heads/master@{#35031}
2016-03-23 14:20:58 +00:00
jyan
2012e5643b S390: Introduce a code stub version of Array.prototype.push
Port 1134688ced

Original commit message:
    This roughly doubles performance for generic Array.prototype.push.

R=verwaest@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1826533004

Cr-Commit-Position: refs/heads/master@{#35030}
2016-03-23 13:55:45 +00:00
bmeurer
db18219e4b [stubs] Introduce code stubs for bitwise binary operations.
Add BitwiseAndStub, BitwiseOrStub and BitwiseXorStub, and hook them up
with Ignition and TurboFan.

R=epertoso@chromium.org

Review URL: https://codereview.chromium.org/1825793002

Cr-Commit-Position: refs/heads/master@{#35029}
2016-03-23 13:44:55 +00:00
machenbach
d30d861a0c Revert of [elements] Minor hardening and cleanup of concat (patchset #7 id:120001 of https://codereview.chromium.org/1812753004/ )
Reason for revert:
[Sheriff] Something seems to leak:
https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN/builds/10838

I don't see the direct connection to this CL though...

Original issue's description:
> [elements] Minor hardening and cleanup of concat
>
> BUG=
>
> Committed: https://crrev.com/b98b3fbbe3dd14548cb356339f52403c07ef33f4
> Cr-Commit-Position: refs/heads/master@{#35027}

TBR=jkummerow@chromium.org,cbruni@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.chromium.org/1825363002

Cr-Commit-Position: refs/heads/master@{#35028}
2016-03-23 13:25:13 +00:00
cbruni
b98b3fbbe3 [elements] Minor hardening and cleanup of concat
BUG=

Review URL: https://codereview.chromium.org/1812753004

Cr-Commit-Position: refs/heads/master@{#35027}
2016-03-23 13:05:53 +00:00
machenbach
b072760b99 [CQ] Make gn bot temporarily experimental.
TBR=sergiyb@chromium.org, dpranke@chromium.org
BUG=chromium:481693
LOG=n
NOTRY=true
NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/1829673002

Cr-Commit-Position: refs/heads/master@{#35026}
2016-03-23 12:58:51 +00:00
jyan
91468c2e6c S390: [es6] Faster implementation of OrdinaryHasInstance.
Port b6419fa229

Original commit message:
    Now implemented as a builtin that delegates to the InstanceOfStub. That
    stub was parameterized to fallback to either Runtime_InstanceOf or to
    Runtime_OrdinaryHasInstance depending on the --harmony-instanceof flag.
    Once the feature stabilizes and the flag is no longer needed, we can get
    rid of this parameterization again.

R=mstarzinger@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:4447
LOG=n

Review URL: https://codereview.chromium.org/1827583002

Cr-Commit-Position: refs/heads/master@{#35025}
2016-03-23 12:51:28 +00:00
oth
afd2d68db9 [interpreter] Fix and test for printing of bytecodes.
BUG=v8:4280,v8:4747
LOG=N

Review URL: https://codereview.chromium.org/1825103002

Cr-Commit-Position: refs/heads/master@{#35024}
2016-03-23 10:23:48 +00:00
bmeurer
d9e1171839 [interpreter] Don't go to the runtime for ForInDone.
The bytecode handler for ForInDone can just do a word comparison on
index and cache length instead of calling out to %ForInDone.

R=rmcilroy@chromium.org

Review URL: https://codereview.chromium.org/1825513003

Cr-Commit-Position: refs/heads/master@{#35023}
2016-03-23 09:57:47 +00:00
mstarzinger
ca387dbdaa [compiler] Unify printing of schedule block ids.
We use the pattern "B23" to refer to RPO numbers and "id:42" when
referring to unordered block ids. This unifies printing functions to
follow that pattern throughout the system.

R=danno@chromium.org

Review URL: https://codereview.chromium.org/1824313002

Cr-Commit-Position: refs/heads/master@{#35022}
2016-03-23 09:57:46 +00:00
machenbach
7e4ce04301 Revert of [CQ] Reduce code-coverage experiment factor. (patchset #1 id:1 of https://codereview.chromium.org/1822703002/ )
Reason for revert:
More bots added.

Original issue's description:
> [CQ] Reduce code-coverage experiment factor.
>
> BUG=chromium:568949
> LOG=n
> TBR=kjellander@chromium.org, tandrii@chromium.org
> NOTRY=true
> NOPRESUBMIT=true
>
> Committed: https://crrev.com/76f677fc6d0b147603ddda2d5809086b0d36d900
> Cr-Commit-Position: refs/heads/master@{#34946}

TBR=kjellander@chromium.org,tandrii@chromium.org
BUG=chromium:568949
LOG=n
NOPRESUBMIT=true
NOTRY=true

Review URL: https://codereview.chromium.org/1816283004

Cr-Commit-Position: refs/heads/master@{#35021}
2016-03-23 09:30:35 +00:00
neis
7e3772713f Reenable and adapt long forgotten proxy test.
R=rossberg
BUG=

Review URL: https://codereview.chromium.org/1823973002

Cr-Commit-Position: refs/heads/master@{#35020}
2016-03-23 09:14:58 +00:00
zhengxing.li
84163df3ce X87: [crankshaft] Always generate lazy bailout points for tail calls ...
port 66e22b79e8 (r34979)

  original commit message:
  ... because Debugger could still require them to inspect optimized frames.

BUG=

Review URL: https://codereview.chromium.org/1826673003

Cr-Commit-Position: refs/heads/master@{#35019}
2016-03-23 09:03:16 +00:00
zhengxing.li
7f82fcdc65 X87: [turbofan] Fix operands for VisitDiv on Intel.
port 1da4b88e82 (r34978)

  original commit message:
  The idiv instruction has 2 registers as output. This needs to be
  modeled so that the move optimizer won't incorrectly elide away
  moves.

BUG=

Review URL: https://codereview.chromium.org/1823403002

Cr-Commit-Position: refs/heads/master@{#35018}
2016-03-23 08:52:36 +00:00
cbruni
2efc138131 [proxies] use [[GetPrototypeOf]] trap in for-in key accumulation
With the recent spec change removing the [[Enumerate]] internal method, we now
have to walk the complete prototype chain. This implies that we call the
[[GetPrototypeOf]] trap on proxies.

As a secondary change we now trigger the [[GetOwnProperty]] trap for the for-in
filter step to see whether the properties are still enumerable. Before we did this
in the key-accumulation phase. This way we slightly reduce the number of traps
invoked. Whilst this is not ideal, it comes closer to the Spec's example
implementation.

BUG=v8:1543, v8:4768
LOG=n

Review URL: https://codereview.chromium.org/1748923003

Cr-Commit-Position: refs/heads/master@{#35017}
2016-03-23 08:36:59 +00:00
mtrofin
32a2ab0c72 [turbofan] Move frame elision logic to the end
We establish spilling blocks for ranges spilling only in deferred blocks
really late - just before optimization. This means frame elision logic
should happen after all dust has settled - even after optimization, since
we may lose spills after that (this is not currently leveraged).

Also enabled the elision algo for all functions, but forcing the first frame
to construct a frame for non-code stub cases.  This is preparing for a
subsequent change where we guide frame construction/destruction
solely based on the info produced by the register allocation pipeline.

BUG=

Review URL: https://codereview.chromium.org/1810333003

Cr-Commit-Position: refs/heads/master@{#35016}
2016-03-23 08:36:58 +00:00
mtrofin
66c6cadc4d [turbofan] Validation for deferred->hot transition edges
Validate that the transition from deferred to hot happens through a
deferred block with one successor. This is needed for frame elision: if
we need to deconstruct the frame on the deferred path, this extra block
offers that location.

A precondition for this validation is that the sequence is in split edge
form.

BUG=

Review URL: https://codereview.chromium.org/1811213003

Cr-Commit-Position: refs/heads/master@{#35015}
2016-03-23 08:11:40 +00:00
danno
a827400025 Ensure Schedules generated by the RawMachineAssembler are in edge-split form
This CL adds an extra pass before calculating the special RPO
order in the custom RawMachineAssembler pipeline that
walks through the schedule and inserts extra blocks to
guarantee that the control flow graph is in split edge form. It
also propagates deferred block marks forward to these new
blocks if appropriate.

Review URL: https://codereview.chromium.org/1811333002

Cr-Commit-Position: refs/heads/master@{#35014}
2016-03-23 07:37:14 +00:00
mtrofin
9c5940deb5 [turbofan] PropagateMarks until we have no more change.
In the frame elider, we were propagating marks if both up and down
propagations were causing a change. We should do it until neither
changes.

BUG=

Review URL: https://codereview.chromium.org/1818503002

Cr-Commit-Position: refs/heads/master@{#35013}
2016-03-23 06:24:09 +00:00
bmeurer
41450ffd7e [turbofan] Reduce boilerplate around HeapNumber allocation in stubs.
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/1827523005

Cr-Commit-Position: refs/heads/master@{#35012}
2016-03-23 06:17:00 +00:00