Commit Graph

27121 Commits

Author SHA1 Message Date
machenbach
0f2ed07f45 Revert of Clean up promises and fix an edge case bug (patchset #4 id:60001 of https://codereview.chromium.org/1488783002/ )
Reason for revert:
[Sheriff] Breaks layout tests:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3266

Please request rebase upstream first.

Original issue's description:
> Clean up promises and fix an edge case bug
>
> This patch builds on previous Promise spec compliance work by
> cleaning out some old code which existed to support
> Promise.prototype.chain, rephrasing some code to correspond more
> closely to the specification, and removing some incorrect brand
> checking. A test is added for a bug in an edge case which was fixed.
>
> R=rossberg
> BUG=v8:3641
> LOG=Y
>
> Committed: https://crrev.com/1deb89c8fd3cb69714ae0a24e3b5a4e78f6b73b4
> Cr-Commit-Position: refs/heads/master@{#32627}

TBR=rossberg@chromium.org,caitpotter88@gmail.com,littledan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3641

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

Cr-Commit-Position: refs/heads/master@{#32629}
2015-12-05 08:51:20 +00:00
v8-autoroll
93955d1654 Update V8 DEPS.
Rolling v8/tools/clang to 6ecb01a508c93b383990381a30c06d3cbb175e8c

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

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

Cr-Commit-Position: refs/heads/master@{#32628}
2015-12-05 04:34:48 +00:00
littledan
1deb89c8fd Clean up promises and fix an edge case bug
This patch builds on previous Promise spec compliance work by
cleaning out some old code which existed to support
Promise.prototype.chain, rephrasing some code to correspond more
closely to the specification, and removing some incorrect brand
checking. A test is added for a bug in an edge case which was fixed.

R=rossberg
BUG=v8:3641
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#32627}
2015-12-04 18:56:17 +00:00
mbrandy
412aefac61 PPC: Refine "[runtime] [proxy] removing JSFunctionProxy and related code."
R=cbruni@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:1543
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32626}
2015-12-04 17:54:37 +00:00
mbrandy
fe35487860 PPC: [debugger] do not predict step in target for liveedit.
Port 1e671030b9

R=yangguo@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32625}
2015-12-04 17:49:31 +00:00
mbrandy
cc17ead444 Revert "PPC: Provide call counts for constructor calls, surface them as a vector IC."
This reverts commit 55b41ff32ded37bb4730a6e13ff831c5def2841e.

Port e89e08ca14

Reason for revert:
    Seems to be (mostly) responsible for the most recent Speedometer regression, not 100% sure.
    Let's see what the bots have to say.

R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32624}
2015-12-04 17:29:33 +00:00
caitpotter88
b634a61d84 [es6] implement destructuring assignment
Attempt #<really big number>

Parses, and lazily rewrites Destructuring Assignment expressions. The rewriting strategy involves inserting a placeholder RewritableAssignmentExpression into the AST, whose content expression can be completely rewritten at a later time.

Lazy rewriting ensures that errors do not occur due to eagerly rewriting nodes which form part of a binding pattern, thus breaking the meaning of the pattern --- or by eagerly rewriting ambiguous constructs that are not immediately known

BUG=v8:811
LOG=Y
R=adamk@chromium.org, bmeurer@chromium.org, rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32623}
2015-12-04 17:20:24 +00:00
mstarzinger
77774035d8 Fix uninitialized new.target register in InvokeBuiltin.
On some architectures the InvokeBuiltin sequence does not go through
InvokeFunctionCode, which initializes the new.target register. This
initializes the register explicitly on these architectures for now.

R=ishell@chromium.org
BUG=chromium:565046
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32622}
2015-12-04 16:35:47 +00:00
jochen
0f2bffa11e Mark deprecated debugger APIs as such
We should consider deprecating the message based API as well in the
future.

BUG=none
R=yangguo@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#32621}
2015-12-04 15:25:40 +00:00
jkummerow
7d1263db47 [proxies] Use JSReceiver::GetKeys() for more purposes
Having beefed up GetKeys() to support everything, use it for everything now.

This fixes Object.getOwnPropertyNames and Object.getOwnPropertySymbols for
Proxies, and gets rid of a bunch of code duplication.

BUG=v8:1543
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32620}
2015-12-04 15:20:57 +00:00
ivica.bogosavljevic
171fb5caa1 MIPS: Fixing CLANG compilation warnings
Fixing warnings which cause compilation to fail when compiling
using CLANG for MIPS

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32619}
2015-12-04 14:44:04 +00:00
jochen
2ce0e87fb2 Use FixedTypedArrayBase's body descriptor for static visiting
BUG=none
R=ishell@chromium.org,hpayer@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32618}
2015-12-04 14:43:08 +00:00
mlippautz
f0f707d832 Reland "[heap] Refactor evacuation for young and old gen into visitors."
Create a visitor for evacuating objects for young and old generation. This is
the first step of preparing a task to process, both,  newspace and oldspace
pages in parallel.

BUG=chromium:524425
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32617}
2015-12-04 14:19:32 +00:00
cbruni
747f455b07 [runtime] [proxy] removing JSFunctionProxy and related code.
BUG=v8:1543
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32616}
2015-12-04 13:49:24 +00:00
neis
eb9407c6f5 [es6] Set correct length for Reflect.get (should be 2, not 3).
R=rossberg
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32615}
2015-12-04 13:40:43 +00:00
yangguo
1e671030b9 [debugger] do not predict step in target for liveedit.
R=verwaest@chromium.org

Committed: https://crrev.com/8f87ff5d62e996b07ffbde7e735daa603c1d7290
Cr-Commit-Position: refs/heads/master@{#32553}

Committed: https://crrev.com/00559c4584fe3a4c3c1a8d3a5b5af0611b19c40a
Cr-Commit-Position: refs/heads/master@{#32600}

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

Cr-Commit-Position: refs/heads/master@{#32614}
2015-12-04 13:26:17 +00:00
mstarzinger
254f9178d1 [crankshaft] Move deopt data population to LCodeGenBase.
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32613}
2015-12-04 13:15:27 +00:00
dusan.m.milosavljevic
472e2ba9b9 MIPS:[turbofan] Match shift left and bitwise And with mask when possible.
TEST=unittests/InstructionSelectorTest.Word(32|64)ShlWithWord(32|64)And
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32612}
2015-12-04 13:13:04 +00:00
Michael Achenbach
af9fa49000 Whitespace change for perf changes.
Cr-Commit-Position: refs/heads/master@{#32611}
2015-12-04 12:46:41 +00:00
mlippautz
26fcd8300b [heap] Clean up stale store buffer entries for aborted pages.
Fix the missed store buffer entries for live objects on aborted pages. Marking
the page as scan_on_scavenge takes care of rebuilding the entries. Note that
this requires an additional case in the rebuilding logic as we cannot iterate an
aborted pages using the object layout, but rather have to use mark bits for
this.

BUG=chromium:524425, chromium:564498
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32610}
2015-12-04 12:11:02 +00:00
machenbach
b12db2574d [CQ] Experiment: Add blink trybots to CQ.
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32609}
2015-12-04 11:56:32 +00:00
neis
62127d00ae [proxies] Implement Proxy.revocable.
For now, we revoke a proxy by setting its handler to null (as in the spec).

Change the "target" field from Object to JSReceiver as there's no point in
allowing more.

R=jkummerow@chromium.org, rossberg
BUG=v8:1543
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32608}
2015-12-04 10:56:01 +00:00
machenbach
6f4d477f32 Revert of [debugger] do not predict step in target for liveedit. (patchset #2 id:20001 of https://codereview.chromium.org/1491743005/ )
Reason for revert:
[Sheriff] And it still breaks:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3239

Please run chromium trybots on relands of CLs that broke chromium bots.

Original issue's description:
> [debugger] do not predict step in target for liveedit.
>
> R=verwaest@chromium.org
>
> Committed: https://crrev.com/8f87ff5d62e996b07ffbde7e735daa603c1d7290
> Cr-Commit-Position: refs/heads/master@{#32553}
>
> Committed: https://crrev.com/00559c4584fe3a4c3c1a8d3a5b5af0611b19c40a
> Cr-Commit-Position: refs/heads/master@{#32600}

TBR=verwaest@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32607}
2015-12-04 10:43:29 +00:00
machenbach
154a493cb7 Revert of [es6] Correctify and unify ArrayBuffer and SharedArrayBuffer constructors. (patchset #2 id:20001 of https://codereview.chromium.org/1500543002/ )
Reason for revert:
Blocks the roll:
https://codereview.chromium.org/1497763004/

Original issue's description:
> [es6] Correctify and unify ArrayBuffer and SharedArrayBuffer constructors.
>
> The ArrayBuffer and SharedArrayBuffer constructors should raise an
> exception when called with no arguments or undefined length.  Also
> unified the ArrayBuffer and SharedArrayBuffer implementations as C++
> builtins, and removed some (now) obsolete runtime entries.
>
> R=yangguo@chromium.org
>
> Committed: https://crrev.com/3235ccbb7826ceec2188f6ebab98fc851b54f60e
> Cr-Commit-Position: refs/heads/master@{#32590}

TBR=yangguo@chromium.org,cbruni@chromium.org,adamk@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32606}
2015-12-04 10:38:48 +00:00
machenbach
9730118946 Revert of [es6] Match ArrayBuffer constructor behavior of Firefox. (patchset #1 id:1 of https://codereview.chromium.org/1497163002/ )
Reason for revert:
Blocks the roll:
https://codereview.chromium.org/1497763004/

Original issue's description:
> [es6] Match ArrayBuffer constructor behavior of Firefox.
>
> We choose to deliberately violate the ES2015 specification and implement
> the ArrayBuffer constructor in a way that matches Firefox and Safari
> instead.
>
> BUG=v8:4592
> LOG=n
>
> Committed: https://crrev.com/8aae841ce26f01f3535e54af3a58fb7c65833eb7
> Cr-Commit-Position: refs/heads/master@{#32597}

TBR=jarin@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4592

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

Cr-Commit-Position: refs/heads/master@{#32605}
2015-12-04 10:37:45 +00:00
neis
60bff6fddc Simplify check and remove outdated comment.
R=bmeurer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32604}
2015-12-04 09:51:25 +00:00
ulan
48b1243a30 Add a flag to specify fixed heap growing factor to be used in tests.
BUG=chromium:565306
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#32603}
2015-12-04 08:58:58 +00:00
hpayer
0e711de172 Remove FLAG_finalize_marking_incrementally for simplicity.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32602}
2015-12-04 08:55:43 +00:00
hpayer
4e1069d454 [heap] Add timer to incremental marking finalization phase.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32601}
2015-12-04 08:54:36 +00:00
yangguo
00559c4584 [debugger] do not predict step in target for liveedit.
R=verwaest@chromium.org

Committed: https://crrev.com/8f87ff5d62e996b07ffbde7e735daa603c1d7290
Cr-Commit-Position: refs/heads/master@{#32553}

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

Cr-Commit-Position: refs/heads/master@{#32600}
2015-12-04 08:52:52 +00:00
bmeurer
e89e08ca14 Revert of Provide call counts for constructor calls, surface them as a vector IC. (patchset #4 id:60001 of https://codereview.chromium.org/1476413003/ )
Reason for revert:
Seems to be (mostly) responsible for the most recent Speedometer regression, not 100% sure. Let's see what the bots have to say.

Original issue's description:
> Provide call counts for constructor calls, surface them as a vector IC.
>
> CallIC and CallConstructStub look so alike, at least in the feedback they gather even if the implementation differs...and CallIC has such a nice way of surfacing the feedback (CallICNexus), that there is a request to make CallConstructStub look analogous. Enter ConstructICStub.
>
> BUG=
>
> Committed: https://crrev.com/66d5a9df62da458a51e8c7ed1811dc9660f4f418
> Cr-Commit-Position: refs/heads/master@{#32452}

TBR=mvstanton@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32599}
2015-12-04 07:34:31 +00:00
machenbach
2cb40dc722 Reland of [proxies] Make Object.prototype.isPrototypeOf work with proxies. (patchset #1 id:1 of https://codereview.chromium.org/1494283002/ )
Reason for revert:
Did not help...

Original issue's description:
> Revert of [proxies] Make Object.prototype.isPrototypeOf work with proxies. (patchset #2 id:20001 of https://codereview.chromium.org/1492863002/ )
>
> Reason for revert:
> [Sheriff] Speculative revert for:
> https://uberchromegw.corp.google.com/i/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3225
>
> Can just be relanded if it doesn't get green.
>
> Original issue's description:
> > [proxies] Make Object.prototype.isPrototypeOf step into proxies.
> >
> > R=rossberg, verwaest@chromium.org
> > BUG=v8:1543
> > LOG=n
> >
> > Committed: https://crrev.com/4ca1180d2e7c409312ae0761cb12843989466573
> > Cr-Commit-Position: refs/heads/master@{#32569}
>
> TBR=rossberg@chromium.org,verwaest@chromium.org,neis@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:1543
>
> Committed: https://crrev.com/48fba9439f291edd5929e19951262dc7e8a09609
> Cr-Commit-Position: refs/heads/master@{#32588}

TBR=rossberg@chromium.org,verwaest@chromium.org,neis@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:1543

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

Cr-Commit-Position: refs/heads/master@{#32598}
2015-12-04 06:39:16 +00:00
bmeurer
8aae841ce2 [es6] Match ArrayBuffer constructor behavior of Firefox.
We choose to deliberately violate the ES2015 specification and implement
the ArrayBuffer constructor in a way that matches Firefox and Safari
instead.

BUG=v8:4592
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32597}
2015-12-04 06:05:35 +00:00
bmeurer
832424cf73 [turbofan] Lower calls to the Number constructor in JSCallReducer.
The expression Number(x) is essentially equivalent to ToNumber(x),
so just lower to JSToNumber in the JSCallReducer and let typing
and typed lowering take care of optimizations.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32596}
2015-12-04 06:04:42 +00:00
zhengxing.li
0770fcba82 X87: [turbofan] Implemented the optional Float32RoundTiesEven operator.
port 57117b8339 (r32308)

  original commit message:
  The Float32RoundTiesEven operator rounds float32 numbers towards the nearest
  integer. If the distance to two integers is the same, then the result is
  the even integer. This is the default rounding mode of the ieee 754 floating
  point standard.

  I implemented the optional Float32RoundTiesEven operator on x64, ia32, arm, and arm64.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32595}
2015-12-04 06:02:51 +00:00
zhengxing.li
69ea09dd15 X87: [crankshaft] Deoptimize if HHasInPrototypeChainAndBranch hits a proxy.
port a330af0ed1 (r32539)

  original commit message:
  The optimized code generated by Crankshaft cannot properly deal
  with proxies (in the prototype chain), and there's probably no
  point in trying to make that work^Wfast with Crankshaft at all.
  TurboFan will handle that properly; Crankshaft just bails out
  to fullcodegen, which then goes to the runtime, which should do
  the right thing soon.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32594}
2015-12-04 04:55:43 +00:00
v8-autoroll
b8c7b5ae19 Update V8 DEPS.
Rolling v8/buildtools to b747a9e091cb8212a62343258406eaf53a6c032e

Rolling v8/tools/clang to 58b11d197b1c5fec39a6ec374c21b3d3a5bf557b

Rolling v8/tools/swarming_client to 9cdd76171e517a430a72dcd7d66ade67e109aa00

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

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

Cr-Commit-Position: refs/heads/master@{#32593}
2015-12-04 04:54:47 +00:00
jkummerow
b24242156b GetKeys(): Revert all-can-read behavior for Object.keys until LayoutTests are fixed
Review URL: https://codereview.chromium.org/1493373003

Cr-Commit-Position: refs/heads/master@{#32592}
2015-12-03 22:35:26 +00:00
mbrandy
23d838f91b PPC: Fix inobject slack tracking for both subclassing and non-subclassing cases.
Port 5d38d6819c

Original commit message:
    It didn't support subclassing case at all and in non-subclassing case the runtime
    allocation didn't do the slack tracking step.

R=ishell@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=chromium:563339
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32591}
2015-12-03 21:17:27 +00:00
bmeurer
3235ccbb78 [es6] Correctify and unify ArrayBuffer and SharedArrayBuffer constructors.
The ArrayBuffer and SharedArrayBuffer constructors should raise an
exception when called with no arguments or undefined length.  Also
unified the ArrayBuffer and SharedArrayBuffer implementations as C++
builtins, and removed some (now) obsolete runtime entries.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32590}
2015-12-03 21:16:31 +00:00
mbrandy
9290dd825e PPC: [debugger] do not restart frames that reference new.target for liveedit.c
Port 6fca870240

R=yangguo@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32589}
2015-12-03 20:27:55 +00:00
machenbach
48fba9439f Revert of [proxies] Make Object.prototype.isPrototypeOf work with proxies. (patchset #2 id:20001 of https://codereview.chromium.org/1492863002/ )
Reason for revert:
[Sheriff] Speculative revert for:
https://uberchromegw.corp.google.com/i/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3225

Can just be relanded if it doesn't get green.

Original issue's description:
> [proxies] Make Object.prototype.isPrototypeOf step into proxies.
>
> R=rossberg, verwaest@chromium.org
> BUG=v8:1543
> LOG=n
>
> Committed: https://crrev.com/4ca1180d2e7c409312ae0761cb12843989466573
> Cr-Commit-Position: refs/heads/master@{#32569}

TBR=rossberg@chromium.org,verwaest@chromium.org,neis@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:1543

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

Cr-Commit-Position: refs/heads/master@{#32588}
2015-12-03 20:24:46 +00:00
machenbach
15cb3fde7d Reland of [debugger] do not restart frames that reference new.target for liveedit. (patchset #1 id:1 of https://codereview.chromium.org/1493863004/ )
Reason for revert:
Didn't help...

Original issue's description:
> Revert of [debugger] do not restart frames that reference new.target for liveedit. (patchset #1 id:1 of https://codereview.chromium.org/1493363002/ )
>
> Reason for revert:
> [Sheriff] Speculative revert for https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3225
>
> Original issue's description:
> > [debugger] do not restart frames that reference new.target for liveedit.
> >
> > R=mstarzinger@chromium.org
> >
> > Committed: https://crrev.com/6fca870240bdbb07a365189b5eb0c98fa65b3682
> > Cr-Commit-Position: refs/heads/master@{#32572}
>
> TBR=mstarzinger@chromium.org,yangguo@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/1a61dab34b9849f3f70a42ce69317e22758c53a1
> Cr-Commit-Position: refs/heads/master@{#32582}

TBR=mstarzinger@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32587}
2015-12-03 20:21:36 +00:00
mbrandy
c902d4ff9d PPC: [proxies] InstanceOfStub should bailout to %HasInPrototypeChain for proxies.
Port 0e95683376

Original commit message:
    Whenever the InstanceOfStub finds a proxy (either passed as object or
    somewhere on the prototype chain), it should bailout to the
    %HasInPrototypeChain runtime function, which will do the right thing
    (soonish).

R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:1543
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32586}
2015-12-03 19:39:19 +00:00
mbrandy
3950206fc2 PPC: [fullcode] Switch passing of new.target to register.
Port 440a42b741

Original commit message:
    This passes the new.target value in a register instead of through a
    side-channel via the construct stub. Note that this marks the last
    consumer of said side-channel and the special slot in the construct
    stub frame can be removed as a follow-up.

R=mstarzinger@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
TEST=mjsunit/es6/regress/regress-new-target-context
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32585}
2015-12-03 19:38:27 +00:00
mbrandy
6542161302 PPC: Remove new.target value from construct stub frames.
Port eaa0e59611

Original commit message:
    This drops the specific slot containing the new.target value from our
    construct stub frames. This side-channel has been deprecated and will
    no longer be accessed by any consumers.

R=mstarzinger@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32584}
2015-12-03 19:37:23 +00:00
mbrandy
90e4179f2d PPC: [crankshaft] Deoptimize if HHasInPrototypeChainAndBranch hits a proxy.
Port a330af0ed1

Original commit message:
    The optimized code generated by Crankshaft cannot properly deal
    with proxies (in the prototype chain), and there's probably no
    point in trying to make that work^Wfast with Crankshaft at all.
    TurboFan will handle that properly; Crankshaft just bails out
    to fullcodegen, which then goes to the runtime, which should do
    the right thing soon.

R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:1543
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32583}
2015-12-03 19:36:26 +00:00
machenbach
1a61dab34b Revert of [debugger] do not restart frames that reference new.target for liveedit. (patchset #1 id:1 of https://codereview.chromium.org/1493363002/ )
Reason for revert:
[Sheriff] Speculative revert for https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3225

Original issue's description:
> [debugger] do not restart frames that reference new.target for liveedit.
>
> R=mstarzinger@chromium.org
>
> Committed: https://crrev.com/6fca870240bdbb07a365189b5eb0c98fa65b3682
> Cr-Commit-Position: refs/heads/master@{#32572}

TBR=mstarzinger@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32582}
2015-12-03 18:39:16 +00:00
bradnelson
1e4681c33f Preserve information about dots in numbers across parser rewriting.
Fix several operations in the parser that rewrite constant expressions
to preserve knowledge regarding whether a value originally contained a ".".
This information is required to accurately validate Asm.js typing.

Making the assumption that if either side of a binary operation contains
a dot, that the rewritten expression should be treated as a double for
Asm.js purposes. This is a slight deviation from the spec (which
would forbid mix type operations).

BUG= https://code.google.com/p/v8/issues/detail?id=4203
TEST=test-asm-validator, test-parsing
R=titzer@chromium.org,marja@chromium.org,aseemgarg@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32581}
2015-12-03 18:14:42 +00:00
verwaest
46a93665c4 Restructure GetDerivedMap so there's only one place where we read intrinsicDefaultProto
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32580}
2015-12-03 18:01:37 +00:00