Commit Graph

27565 Commits

Author SHA1 Message Date
bmeurer
84a88a1bd0 [turbofan] Port Crankshaft's weak objects mechanism to TurboFan.
Use the same mechanism that is already available for Crankshaft to not
leak all kinds of things in TurboFan generated code. Long-term we will
support weakness in a better way, but for now, just use the
infrastructure that is already in place to avoid memory leaks via
TurboFan generated code.

R=jarin@chromium.org, ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33073}
2016-01-04 07:12:35 +00:00
bmeurer
cb21144baf [es6] Unify ArrayBuffer and SharedArrayBuffer constructors.
Unify the constructors and isView methods for ArrayBuffer and
SharedArrayBuffer, moving them to C++ because there's no point
in having the JavaScript wrappers for them.

We choose to deliberately violate the ES2015 specification and
implement the ArrayBuffer constructor in a way that matches
Firefox and Safari instead.

CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
BUG=chromium:565917, v8:4592
TBR=hpayer@chromium.org
R=cbruni@chromium.org
LOG=n

Committed: https://crrev.com/3235ccbb7826ceec2188f6ebab98fc851b54f60e
Cr-Commit-Position: refs/heads/master@{#32590}

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

Cr-Commit-Position: refs/heads/master@{#33072}
2016-01-01 07:13:16 +00:00
mvstanton
66b0d0315f Basic TurboFan support for rest arguments.
TurboFan can accept them, it calls a runtime function to initialize
the rest object as a JSArray.

BUG=
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33071}
2015-12-31 11:56:39 +00:00
zhengxing.li
3d6f79bcb0 X87: [runtime] TailCallRuntime and CallRuntime should use default argument counts specified in runtime.h.
port b889d79de1e9af4719228536c736351c5680f25e(r33066)

  original commit message:
  In the vast majority of the cases when we call into the runtime we use
  the default number of arguments. Hence, there is not need to specify it
  again. This CL also removes TailCallExternalReference as there were no
  users.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#33070}
2015-12-31 08:35:33 +00:00
v8-autoroll
7d5e61b0a3 Update V8 DEPS.
Rolling v8/buildtools to 6d0c448437825a1af0ad2ea28128dda474403cd7

Rolling v8/tools/clang to da84f132a581202117fb45bceec8327752c81283

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

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

Cr-Commit-Position: refs/heads/master@{#33069}
2015-12-31 08:34:30 +00:00
littledan
a9c791009b Fix 'illegal access' in Date constructor edge case
In a rare edge case, a difference in checks between C++ and
JavaScript lead to an 'illegal access' being thrown by the Date
constructor. This patch harmonizes the checks from both sides.
It's possible that slightly larger dates could be permitted,
as the ECMAScript 2015 specification indicates that +287396-10-12
would be a permissible date in the note in
http://tc39.github.io/ecma262/#sec-extended-years
This patch does not revisit the limit, only clears up the
inconsistency.

BUG=v8:4640
R=cbruni
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#33068}
2015-12-30 23:54:59 +00:00
littledan
e549c7a356 Reland of Use ES2015-style TypedArray prototype chain (patchset #1 id:1 of https://codereview.chromium.org/1554523002/ )
Reason for revert:
Should be fixed again with this Blink change to add NeedsManualRebaseline

Original issue's description:
> Revert of Use ES2015-style TypedArray prototype chain (patchset #5 id:80001 of https://codereview.chromium.org/1541233002/ )
>
> Reason for revert:
> [Sheriff] Changes layout tests. Please fix upstream first if intended.
>
> https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3689
>
> Original issue's description:
> > Use ES2015-style TypedArray prototype chain
> >
> > This patch switches TypedArrays to use the prototype chain described
> > in the ES2015 specification, which adds a %TypedArray% superclass above
> > all individual TypedArray types. Most methods are defined on the
> > superclass rather than the subclasses.
> >
> > In order to prevent a performance regression, a few methods are
> > marked as inline. Inlining might prevent code which was previously
> > monomorphic from becoming polymorphic, and it was specifically
> > applied in places where methods became more polymorphic than before.
> > Tests with realistic workloads would be nice to do before this
> > ships in stable.
> >
> > This patch does not bring TypedArrays up to full spec compliance. In
> > particular, @@species is not yet supported.
> >
> > R=cbruni
> > BUG=v8:4085
> > LOG=Y
> >
> > Committed: https://crrev.com/07c91dccbe55c7be3ec75857dee5ad59873330b7
> > Cr-Commit-Position: refs/heads/master@{#33050}
>
> TBR=caitpotter88@gmail.com,cbruni@chromium.org,littledan@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:4085
>
> Committed: https://crrev.com/28b55ffd1e32e09aaf42b8bbb407944d4808e07c
> Cr-Commit-Position: refs/heads/master@{#33053}

TBR=caitpotter88@gmail.com,cbruni@chromium.org,machenbach@chromium.org
BUG=v8:4085
LOG=Y

CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#33067}
2015-12-30 22:14:16 +00:00
cbruni
b889d79de1 [runtime] TailCallRuntime and CallRuntime should use default argument
counts specified in runtime.h.

In the vast majority of the cases when we call into the runtime we use
the default number of arguments. Hence, there is not need to specify it
again. This CL also removes TailCallExternalReference as there were no
users.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#33066}
2015-12-30 20:51:06 +00:00
littledan
797d1090ae Reland "Clean up promises and fix an edge case bug (patchset #4 id:60001 of https://codereview.chromium.org/1488783002/ )"
This patch relands a change to ES2015 Promises which brings us closer to
spec compliance. In this new version, a bug which would lose async callstack
data was fixed.

R=adamk
CC=rossberg,caitp
LOG=Y
BUG=v8:3641
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#33065}
2015-12-30 20:47:37 +00:00
mbrandy
974e50ba0d PPC: [runtime] Introduce dedicated JSBoundFunction to represent bound functions.
Port 97def8070c

Original commit message:
    According to the ES2015 specification, bound functions are exotic
    objects, and thus don't need to be implemented as JSFunctions. So
    we introduce a new JSBoundFunction type to represent bound functions
    and make them optimizable. This already improves the performance of
    calling or constructing bound functions by 10-100x depending on the
    use case because we avoid the crazy dance between JavaScript and C++
    that was implemented in v8natives.js previously.

    There's still room for improvement in the performance of actually
    creating bound functions, which is also relevant in practice, but
    we already have a plan how to accomplish that later.

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

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

Cr-Commit-Position: refs/heads/master@{#33064}
2015-12-30 16:45:10 +00:00
mbrandy
a9f69934a5 PPC: [turbofan] Add Int64(Add|Sub)WithOverflow support.
Port bafb568b6e

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

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

Cr-Commit-Position: refs/heads/master@{#33063}
2015-12-30 16:18:06 +00:00
mbrandy
49e25ff4c7 PPC: Refine "[ic] Fixed receiver_map register trashing in KeyedStoreIC megamorphic."
Do not abstract r0 as a general scratch register -- usage is valid
only in short, localized sequences (since its value may be altered
implicitly by some macro operations).

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

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

Cr-Commit-Position: refs/heads/master@{#33062}
2015-12-30 16:10:04 +00:00
bmeurer
6a51d31139 [runtime] Migrate Object.create to C++.
There's no point in keeping the ObjectCreate JavaScript wrapper
function, which even does allocation site pretenuring for the
instances created via Object.create (where ObjectCreate itself is
the AllocationSite), and does not offer any sane way forward.

Instead introduce a new ObjectCreate C++ builtin, which currently
serves as a baseline implementation, on top of which we can think
about ways to optimize Object.create for the common case (i.e.
frameworks such as Ember.js make heavy use of Object.create).

R=cbruni@chromium.org
TBR=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33061}
2015-12-30 14:16:17 +00:00
v8-autoroll
5a49eb015b Update V8 DEPS.
Rolling v8/tools/clang to d1e1de24f0e66c2f5a8b865c8ffb4042793286e9

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

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

Cr-Commit-Position: refs/heads/master@{#33060}
2015-12-30 04:23:05 +00:00
cbruni
b24fc48134 Remove uses of result_size in TailCallRuntime and friends
JumpToExternalReference ignored the passed-in result_size argument, which
defaulted to 1. This change updates all users to not use a result_size.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#33059}
2015-12-29 17:20:22 +00:00
ishell
bae0d6c8dc [crankshaft] Don't inline array resize operations if receiver's proto is not a JSObject.
BUG=chromium:571064
LOG=Y
TBR=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33058}
2015-12-29 14:35:18 +00:00
ishell
c1aded3c4b [ic] Fixed receiver_map register trashing in KeyedStoreIC megamorphic.
BUG=chromium:571370
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#33057}
2015-12-29 12:52:13 +00:00
bmeurer
2fcf3aa62c Only verify in-object fields in fast properties case.
This matches the behavior of JSObject::JSObjectVerify() and seems to be
the current contract for --verify-heap.

BUG=chromium:572590
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33056}
2015-12-29 11:20:52 +00:00
cbruni
5f3868f3ca [d8] Add support for printing symbols
BUG=

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

Cr-Commit-Position: refs/heads/master@{#33055}
2015-12-29 09:58:04 +00:00
machenbach
2545f18851 [test] Skip tests for ignition.
NOTRY=true
TBR=rmcilroy@chromium.org, littledan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33054}
2015-12-29 08:51:03 +00:00
machenbach
28b55ffd1e Revert of Use ES2015-style TypedArray prototype chain (patchset #5 id:80001 of https://codereview.chromium.org/1541233002/ )
Reason for revert:
[Sheriff] Changes layout tests. Please fix upstream first if intended.

https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3689

Original issue's description:
> Use ES2015-style TypedArray prototype chain
>
> This patch switches TypedArrays to use the prototype chain described
> in the ES2015 specification, which adds a %TypedArray% superclass above
> all individual TypedArray types. Most methods are defined on the
> superclass rather than the subclasses.
>
> In order to prevent a performance regression, a few methods are
> marked as inline. Inlining might prevent code which was previously
> monomorphic from becoming polymorphic, and it was specifically
> applied in places where methods became more polymorphic than before.
> Tests with realistic workloads would be nice to do before this
> ships in stable.
>
> This patch does not bring TypedArrays up to full spec compliance. In
> particular, @@species is not yet supported.
>
> R=cbruni
> BUG=v8:4085
> LOG=Y
>
> Committed: https://crrev.com/07c91dccbe55c7be3ec75857dee5ad59873330b7
> Cr-Commit-Position: refs/heads/master@{#33050}

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

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

Cr-Commit-Position: refs/heads/master@{#33053}
2015-12-29 08:43:29 +00:00
v8-autoroll
fb9b89315c Update V8 DEPS.
Rolling v8/tools/clang to 2f115cac36580d305f8060d98fb9cc1f034e78e8

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

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

Cr-Commit-Position: refs/heads/master@{#33052}
2015-12-29 04:26:58 +00:00
bmeurer
cf25c24110 [builtins] Fix context for ConstructStub calls into C++.
When calling into C++ for a ConstructStub, we need to enter the target
context manually currently, which seems to be too fragile and easy to
forget. So instead of doing that manually, we just always enter the
correct context in the trampoline.

Drive-by-fix: Trivial cleanups for some builtins.

R=cbruni@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33051}
2015-12-28 20:18:05 +00:00
littledan
07c91dccbe Use ES2015-style TypedArray prototype chain
This patch switches TypedArrays to use the prototype chain described
in the ES2015 specification, which adds a %TypedArray% superclass above
all individual TypedArray types. Most methods are defined on the
superclass rather than the subclasses.

In order to prevent a performance regression, a few methods are
marked as inline. Inlining might prevent code which was previously
monomorphic from becoming polymorphic, and it was specifically
applied in places where methods became more polymorphic than before.
Tests with realistic workloads would be nice to do before this
ships in stable.

This patch does not bring TypedArrays up to full spec compliance. In
particular, @@species is not yet supported.

R=cbruni
BUG=v8:4085
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#33050}
2015-12-28 17:28:54 +00:00
littledan
9c304f1e78 Guard the property RegExp.prototype.unicode behind --harmony-regexp-unicode
When the 'y' flag was shipped, the property RegExp.prototype.unicode was
accidentally also shipped. However, the existence of this property should
be a usable feature testing point. This patch adds the 'unicode' getter on
RegExp.prototype only if the --harmony-regexp-unicode flag is turned on.

R=cbruni
CC=yangguo
BUG=v8:4644
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#33049}
2015-12-28 16:38:54 +00:00
ivica.bogosavljevic
7b42c6cfc6 MIPS64: Fix [runtime] Introduce dedicated JSBoundFunction to represent bound functions.
Fix 97def8070c

On MIPS64, the address of BoundTargetFunction was calculated badly
because instruction ADD was used for this instead of instruction DADD.
This caused flaky crashes of several tests.

TEST=mjsunit/es6/debug-step-into-constructor,mjsunit/es6/array-of,
mjsunit/function-bind,...

BUG=

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

Cr-Commit-Position: refs/heads/master@{#33048}
2015-12-28 15:27:21 +00:00
machenbach
47cb4b2c7f [test] Skip flaky test for ignition.
This crashes flakily. Leftover from
e7373f4285

NOTRY=true
TBR=bmeurer@chromium.org, rmcilroy@chromium.org, mythria@chromium.org,

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

Cr-Commit-Position: refs/heads/master@{#33047}
2015-12-28 07:37:33 +00:00
zhengxing.li
37d1dd823b X87: [runtime] Introduce dedicated JSBoundFunction to represent bound functions.
port 97def8070c (r33044)

  original commit message:
  According to the ES2015 specification, bound functions are exotic
  objects, and thus don't need to be implemented as JSFunctions. So
  we introduce a new JSBoundFunction type to represent bound functions
  and make them optimizable. This already improves the performance of
  calling or constructing bound functions by 10-100x depending on the
  use case because we avoid the crazy dance between JavaScript and C++
  that was implemented in v8natives.js previously.

  There's still room for improvement in the performance of actually
  creating bound functions, which is also relevant in practice, but
  we already have a plan how to accomplish that later.

  The mips/mips64 ports were contributed by akos.palfi@imgtec.com.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#33046}
2015-12-28 06:18:58 +00:00
zhengxing.li
fa98795500 X87: [TurboFan] Increase SP Delta when the operand of kX87Push is in double register.
As the operand in double register is put into stack, the SP delta should be increased too similar to
  the operand of kX87Push is in double slot of stack.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#33045}
2015-12-28 06:16:14 +00:00
bmeurer
97def8070c [runtime] Introduce dedicated JSBoundFunction to represent bound functions.
According to the ES2015 specification, bound functions are exotic
objects, and thus don't need to be implemented as JSFunctions. So
we introduce a new JSBoundFunction type to represent bound functions
and make them optimizable. This already improves the performance of
calling or constructing bound functions by 10-100x depending on the
use case because we avoid the crazy dance between JavaScript and C++
that was implemented in v8natives.js previously.

There's still room for improvement in the performance of actually
creating bound functions, which is also relevant in practice, but
we already have a plan how to accomplish that later.

The mips/mips64 ports were contributed by akos.palfi@imgtec.com.

CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
BUG=chromium:535408, chromium:571299, v8:4629
LOG=n

Committed: https://crrev.com/ca8623eaa468cba65a5adafcdfb4615966f43ce2
Cr-Commit-Position: refs/heads/master@{#33042}

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

Cr-Commit-Position: refs/heads/master@{#33044}
2015-12-27 06:31:44 +00:00
bmeurer
1cf8b105d6 Revert of [runtime] Introduce dedicated JSBoundFunction to represent bound functions. (patchset #14 id:260001 of https://codereview.chromium.org/1542963002/ )
Reason for revert:
Breaks arm64 sim nosnap: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug/builds/805/steps/Check/logs/function-bind

Original issue's description:
> [runtime] Introduce dedicated JSBoundFunction to represent bound functions.
>
> According to the ES2015 specification, bound functions are exotic
> objects, and thus don't need to be implemented as JSFunctions. So
> we introduce a new JSBoundFunction type to represent bound functions
> and make them optimizable. This already improves the performance of
> calling or constructing bound functions by 10-100x depending on the
> use case because we avoid the crazy dance between JavaScript and C++
> that was implemented in v8natives.js previously.
>
> There's still room for improvement in the performance of actually
> creating bound functions, which is also relevant in practice, but
> we already have a plan how to accomplish that later.
>
> The mips/mips64 ports were contributed by akos.palfi@imgtec.com.
>
> CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
> BUG=chromium:535408, chromium:571299, v8:4629
> LOG=n
>
> Committed: https://crrev.com/ca8623eaa468cba65a5adafcdfb4615966f43ce2
> Cr-Commit-Position: refs/heads/master@{#33042}

TBR=cbruni@chromium.org,hpayer@chromium.org,yangguo@chromium.org,akos.palfi@imgtec.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:535408, chromium:571299, v8:4629

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

Cr-Commit-Position: refs/heads/master@{#33043}
2015-12-27 04:42:13 +00:00
bmeurer
ca8623eaa4 [runtime] Introduce dedicated JSBoundFunction to represent bound functions.
According to the ES2015 specification, bound functions are exotic
objects, and thus don't need to be implemented as JSFunctions. So
we introduce a new JSBoundFunction type to represent bound functions
and make them optimizable. This already improves the performance of
calling or constructing bound functions by 10-100x depending on the
use case because we avoid the crazy dance between JavaScript and C++
that was implemented in v8natives.js previously.

There's still room for improvement in the performance of actually
creating bound functions, which is also relevant in practice, but
we already have a plan how to accomplish that later.

The mips/mips64 ports were contributed by akos.palfi@imgtec.com.

CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
BUG=chromium:535408, chromium:571299, v8:4629
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33042}
2015-12-26 20:28:17 +00:00
v8-autoroll
61b311283e Update V8 DEPS.
Rolling v8/tools/clang to 48322a540c208cda85790c2a6df4c4d335b191e1

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

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

Cr-Commit-Position: refs/heads/master@{#33041}
2015-12-26 04:24:52 +00:00
v8-autoroll
2c48421e49 Update V8 DEPS.
Rolling v8/tools/clang to 58034a11a42065e1af1263dfead64df24cb879b9

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

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

Cr-Commit-Position: refs/heads/master@{#33040}
2015-12-25 04:25:47 +00:00
jarin
bafb568b6e [turbofan] Add Int64(Add|Sub)WithOverflow support.
Review URL: https://codereview.chromium.org/1544743004

Cr-Commit-Position: refs/heads/master@{#33039}
2015-12-24 18:51:26 +00:00
paul.lind
ac33eaba10 MIPS: Remove clang-format-off from assembler tests.
Per request in https://codereview.chromium.org/1047213002/

These files will continue to have a lot of churn in next two months
as we finish support for MIPS r6 instruction set. When things settle
down, we will do a clang-format --full to clean them up. For now,
we'd prefer to be able to do easy diffs, and will do incremental
re-formats as we make changes.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#33038}
2015-12-24 14:17:57 +00:00
thakis
25864f2d00 Remove an unneeded OS!=win now that update.py is used.
Follow-up to https://codereview.chromium.org/1495653002, and makes it easier
to maybe have a clang/win build of v8 at some point in the future.

BUG=none
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33037}
2015-12-24 11:58:30 +00:00
ivica.bogosavljevic
78d8ce1bb1 MIPS: Fix [es6] Introduce spec compliant IsConstructor.
In Builtins::Generate_Construct, the system was trying to
call ConstructProxy on a Proxy object without a constructor
because it was checking the wrong bit in the Proxy object's
supported operation mask.

TEST=test262/built-ins/Proxy/create-target-is-not-constructor
BUG=

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

Cr-Commit-Position: refs/heads/master@{#33036}
2015-12-24 08:40:56 +00:00
zhengxing.li
e1bb354bc3 X87: Remove inlined marking part.
port 866f9e6e87 (r33026)

  original commit message:

BUG=

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

Cr-Commit-Position: refs/heads/master@{#33035}
2015-12-24 08:10:40 +00:00
zhengxing.li
d9cfa7293d X87: Partial revert of rest parameter desugaring.
port d3f074b231 (r33024)

  original commit message:
  We'll be able to optimize rest parameters in TurboFan similarly to the arguments array. This CL restores the previous behavior, and a follow-on will enable TurboFan optimization.

  (TBR for rossberg since we discussed the revert beforehand. The only changes are a few lines related to tests and rebasing.)

BUG=

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

Cr-Commit-Position: refs/heads/master@{#33034}
2015-12-24 08:07:53 +00:00
cbruni
0bd4131426 [runtime] Add Arguments.atOrUndefined()
atOrUndefined() will return undefined if the index is >= length()

BUG=

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

Cr-Commit-Position: refs/heads/master@{#33033}
2015-12-23 19:29:41 +00:00
cbruni
f17c1d1140 [proxies] Improve JSProxyVerify and test most proxy invariants.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#33032}
2015-12-23 17:38:17 +00:00
ishell
5ca478a556 [field type tracking] Fix handling of cleared WeakCells.
Previous CL (https://codereview.chromium.org/1522413002) has a typo.

BUG=chromium:571402,chromium:514080,chromium:527994,v8:4325
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33031}
2015-12-23 17:09:38 +00:00
mbrandy
358efce089 PPC: Fix "Remove inlined marking part."
Revert mistaken removal of JumpIfBlack prototype.

R=hpayer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=chromium:561449
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33030}
2015-12-23 16:09:08 +00:00
ishell
5b3fbf231c Ensure that all non-stable maps created by Map::AddMissingTransitions() are marked as such.
BUG=chromium:570131
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33029}
2015-12-23 15:35:03 +00:00
mbrandy
fc23b49498 PPC: Partial revert of rest parameter desugaring.
Port d3f074b231

Original commit message:
    We'll be able to optimize rest parameters in TurboFan similarly to
    the arguments array. This CL restores the previous behavior, and a
    follow-on will enable TurboFan optimization.

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

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

Cr-Commit-Position: refs/heads/master@{#33028}
2015-12-23 14:49:57 +00:00
hablich
953c35f651 [Test] Skip tests crashing with ignition
NOTRY=true
TBR=rmcilroy,machenbach

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

Cr-Commit-Position: refs/heads/master@{#33027}
2015-12-23 13:03:53 +00:00
hpayer
866f9e6e87 Remove inlined marking part.
BUG=chromium:561449
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33026}
2015-12-23 12:52:34 +00:00
Michael Hablich
df7fe6af21 [Test] Mark flaky test cctest/test-lockers/LockAndUnlockDifferentIsolates for real
BUG=v8:4642
LOG=N
NOTRY=true
TBR=machenbach@chromium.org,mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33025}
2015-12-23 12:31:50 +00:00
mvstanton
d3f074b231 Partial revert of rest parameter desugaring.
We'll be able to optimize rest parameters in TurboFan similarly to the arguments array. This CL restores the previous behavior, and a follow-on will enable TurboFan optimization.

(TBR for rossberg since we discussed the revert beforehand. The only changes are a few lines related to tests and rebasing.)

TBR=rossberg@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#33024}
2015-12-23 12:07:26 +00:00