erikcorry [Wed, 17 Jun 2015 07:22:56 +0000 (00:22 -0700)]
RegExp: Remove bogus assumptions about case independence and Latin1
Tests are already there in mjsuint/regress/regress-latin-1.js
R=yangguo@chromium.org
BUG=v8:3550
LOG=n
Review URL: https://codereview.chromium.org/
1188793004
Cr-Commit-Position: refs/heads/master@{#29068}
machenbach [Wed, 17 Jun 2015 06:52:55 +0000 (23:52 -0700)]
Revert of Update test262-es6 to 6/11 (patchset #2 id:40001 of https://codereview.chromium.org/
1175313003/)
Reason for revert:
[Sheriff] Please fix test expectations for nosnap before reland. There are 54 tests failing:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/3422
Original issue's description:
> Update test262-es6 to 6/11
>
> This reverts commit
67b169199e06a486e7b663c7758f81995ddc6593 and picks
> up the fixes to the yaml parser upstream.
>
> BUG=N
> LOG=N
> R=adamk@chromium.org, machenbach@chromium.org
>
> Committed: https://crrev.com/
bc847230610d0518a700a69546d23784e6ce3479
> Cr-Commit-Position: refs/heads/master@{#29056}
TBR=adamk@chromium.org,arv@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=N
Review URL: https://codereview.chromium.org/
1186093005
Cr-Commit-Position: refs/heads/master@{#29067}
machenbach [Wed, 17 Jun 2015 06:51:42 +0000 (23:51 -0700)]
Revert of Skip slow tests in non debug too (patchset #1 id:1 of https://codereview.chromium.org/
1184923003/)
Reason for revert:
[Sheriff] Needed for reverting:
https://codereview.chromium.org/
1175313003
Original issue's description:
> Skip slow tests in non debug too
>
> BUG=N
> LOG=N
> TBR=adamk
>
> Committed: https://crrev.com/
17b0f16c760e5b0d51ae87742a864de93b6f4c0b
> Cr-Commit-Position: refs/heads/master@{#29058}
TBR=adamk@chromium.org,arv@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=N
Review URL: https://codereview.chromium.org/
1177223004
Cr-Commit-Position: refs/heads/master@{#29066}
yangguo [Wed, 17 Jun 2015 06:45:25 +0000 (23:45 -0700)]
Revert of Serializer: clear string hash for code serializer. (patchset #1 id:1 of https://codereview.chromium.org/
1183483006/)
Reason for revert:
This led to the roll being stuck: https://codereview.chromium.org/
1189863003/
Original issue's description:
> Serializer: clear string hash for code serializer.
>
> R=jochen@chromium.org
> BUG=v8:4179
> LOG=N
>
> Committed: https://crrev.com/
a0342678e865337215f9195f983c6013b60e7641
> Cr-Commit-Position: refs/heads/master@{#29016}
TBR=jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4179
Review URL: https://codereview.chromium.org/
1186173004
Cr-Commit-Position: refs/heads/master@{#29065}
bmeurer [Wed, 17 Jun 2015 06:11:40 +0000 (23:11 -0700)]
[turbofan] Remove ineffective optimization from ControlReducer.
This optimization just duplicates part of the ToBoolean rule in the
Typer, and it doesn't make sense to have adhoc partial typing rules in
the ControlReducer anyway.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1189963002
Cr-Commit-Position: refs/heads/master@{#29064}
mtrofin [Wed, 17 Jun 2015 05:44:23 +0000 (22:44 -0700)]
Block pretty printing (partial re-revert of
1177123002).
Revert "Revert of Decompiler improvements. (patchset #2 id:20001 of https://codereview.chromium.org/
1177123002/)"
This reverts commit
e2ce4681655a610631e6a6e17dec62e6c4bdef43, avoiding the hex->dec changes, and re-introducing the block pretty printing of the original CL.
The hex-dec issue would be handled separately.
BUG=
Review URL: https://codereview.chromium.org/
1186273005
Cr-Commit-Position: refs/heads/master@{#29063}
bmeurer [Wed, 17 Jun 2015 05:43:17 +0000 (22:43 -0700)]
[turbofan] The AstGraphBuilder does not need to care about types.
AstGraphBuilder::BuildToBoolean() can be optimized easily without types,
especially since the types are only present on some nodes during graph
building. So this optimization is both more efficient and more effective
at the same time. We will probably refactor this code into a separate
optimization method/class later.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1188503003
Cr-Commit-Position: refs/heads/master@{#29062}
mstarzinger [Wed, 17 Jun 2015 05:40:28 +0000 (22:40 -0700)]
[turbofan] Ensure lazy bailout point in exception handler.
This ensures there is a lazy bailout point at the entry of every
exception handler so that deoptimized code is not re-entered through
caught exceptions.
R=jarin@chromium.org
TEST=cctest/test-run-deopt/DeoptExceptionHandler
Review URL: https://codereview.chromium.org/
1173253004
Cr-Commit-Position: refs/heads/master@{#29061}
machenbach [Wed, 17 Jun 2015 05:38:30 +0000 (22:38 -0700)]
Revert of Update V8 DEPS. (patchset #1 id:1 of https://codereview.chromium.org/
1179703005/)
Reason for revert:
[Sheriff] gyp change breaks calling gyp on XP:
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%201/builds/2849
Original issue's description:
> Update V8 DEPS.
>
> Rolling v8/build/gyp to
fdcd8bc10c935eff13b391644b01460593c46861
>
> Rolling v8/tools/clang to
4cc9c6714533a07ba02ca01ed04557f055820532
>
> TBR=machenbach@chromium.org
>
> Committed: https://crrev.com/
6e7e5e833c8bddf7d6a97cd3c01f0afe5a882bd6
> Cr-Commit-Position: refs/heads/master@{#29059}
TBR=v8-autoroll@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1180193003
Cr-Commit-Position: refs/heads/master@{#29060}
v8-autoroll [Wed, 17 Jun 2015 03:24:43 +0000 (20:24 -0700)]
Update V8 DEPS.
Rolling v8/build/gyp to
fdcd8bc10c935eff13b391644b01460593c46861
Rolling v8/tools/clang to
4cc9c6714533a07ba02ca01ed04557f055820532
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1179703005
Cr-Commit-Position: refs/heads/master@{#29059}
arv [Wed, 17 Jun 2015 00:03:00 +0000 (17:03 -0700)]
Skip slow tests in non debug too
BUG=N
LOG=N
TBR=adamk
Review URL: https://codereview.chromium.org/
1184923003
Cr-Commit-Position: refs/heads/master@{#29058}
littledan [Tue, 16 Jun 2015 23:39:01 +0000 (16:39 -0700)]
Add %TypedArray% to proto chain
According to the ES6 spec, the main methods and getters shouldn't
be properties of the individual TypedArray objects and prototypes
but instead on %TypedArray% and %TypedArray%.prototype. This
difference is observable through introspection. This patch moves
some methods and getters to the proper place, with the exception
of %TypedArray%.prototype.subarray and harmony methods. These will
be moved in follow-on patches.
BUG=v8:4085
LOG=Y
R=adamk
Review URL: https://codereview.chromium.org/
1186733002
Cr-Commit-Position: refs/heads/master@{#29057}
arv [Tue, 16 Jun 2015 22:15:53 +0000 (15:15 -0700)]
Update test262-es6 to 6/11
This reverts commit
67b169199e06a486e7b663c7758f81995ddc6593 and picks
up the fixes to the yaml parser upstream.
BUG=N
LOG=N
R=adamk@chromium.org, machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1175313003
Cr-Commit-Position: refs/heads/master@{#29056}
caitpotter88 [Tue, 16 Jun 2015 18:08:21 +0000 (11:08 -0700)]
[parser] parse `CalllExpression TemplateLiteral` production
BUG=v8:4183
R=arv@chromium.org, rossberg@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
1184373002
Cr-Commit-Position: refs/heads/master@{#29055}
mtrofin [Tue, 16 Jun 2015 17:10:14 +0000 (10:10 -0700)]
Separated the new register allocator in its own files.
Opportunistically removed GreedyAllocator::TryReuseSpillForPhi because it is actually unsuitable for Greedy. It was copied from Linear and it relies on hints, however, the current implementation of hints assumes linear scan.
This change doesn't aim to address performance nor correctness for Greedy.
BUG=
Review URL: https://codereview.chromium.org/
1184183002
Cr-Commit-Position: refs/heads/master@{#29054}
hpayer [Tue, 16 Jun 2015 15:49:14 +0000 (08:49 -0700)]
Only shrink new space when we are not in the process of obtaining pretenuring feedback.
BUG=
Review URL: https://codereview.chromium.org/
1180263006
Cr-Commit-Position: refs/heads/master@{#29053}
hpayer [Tue, 16 Jun 2015 14:22:54 +0000 (07:22 -0700)]
Re-land new insertion write barrier.
BUG=
Review URL: https://codereview.chromium.org/
1153233003
Cr-Commit-Position: refs/heads/master@{#29052}
hablich [Tue, 16 Jun 2015 12:37:37 +0000 (05:37 -0700)]
Updates to the license information of third party components.
LOG=n
Review URL: https://codereview.chromium.org/
1183743003
Cr-Commit-Position: refs/heads/master@{#29051}
vogelheim [Tue, 16 Jun 2015 11:26:54 +0000 (04:26 -0700)]
Re-Re-land: Enable external startup by default on Linux.
crrev.com/
1177163002 should have fixed the issues that broke this last time.
Notes:
- The current functionality is meant to stay. If you prefer the old way,
just set v8_use_external_startup_data=0.
- You might notice this if you call d8 via PATH. Either explicitly tell d8
where your external snapshot/built-ins are, or change the build options
as above.
- This follows Chromium practice, that mostly uses this feature these days.
- Other platforms to follow later.
BUG=
Review URL: https://codereview.chromium.org/
1189563004
Cr-Commit-Position: refs/heads/master@{#29050}
chunyang.dai [Tue, 16 Jun 2015 11:23:05 +0000 (04:23 -0700)]
X87: enable the X87 turbofan support.
This patch includes the following changes.
1, Enable the turbofan backend support for X87 platform. It depends on previous CL:
3fdfebd26.
2, Enable the test cases which are disabled because turbofan for X87 was not enabled.
BUG=v8:4135
LOG=N
Review URL: https://codereview.chromium.org/
1179763004
Cr-Commit-Position: refs/heads/master@{#29049}
kozyatinskiy [Tue, 16 Jun 2015 11:09:50 +0000 (04:09 -0700)]
[V8] Fixed infinite loop in Debug::PrepareStep
frame->GetExpression always returns the same function. We should iterate through expression stack when we use Function.call.apply for finding actual target.
LOG=N
BUG=chromium:499479
R=yurys@chromium.org,yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1182703003
Cr-Commit-Position: refs/heads/master@{#29048}
yangguo [Tue, 16 Jun 2015 11:04:13 +0000 (04:04 -0700)]
Serializer: support all alignment kinds.
We use an alignment prefix for unusual alignment kinds (not kWordAligned).
This will cause new objects to be aligned in ReadObject, and back references
to be aligned to skip padding.
The motivation to change the undefined next sentinel in WeakCell is this:
When the deserializer aligns an object, it requires filler maps to already
exist to create filler objects as padding. However, deserializing the
filler map leads to deserializing NaN, which as heap number is aligned:
filler map > meta map > weak cell cache > undefined > NaN
If we use the-hole instead of undefined as sentinel, it works.
R=jochen@chromium.org,bbudge@chromium.org
BUG=v8:4178
LOG=N
Committed: https://crrev.com/
2146ab75387d47eef6582bd8c2d0cfc6c42b68b6
Cr-Commit-Position: refs/heads/master@{#29044}
Review URL: https://codereview.chromium.org/
1179873003
Cr-Commit-Position: refs/heads/master@{#29047}
mstarzinger [Tue, 16 Jun 2015 10:38:47 +0000 (03:38 -0700)]
Revert of Decompiler improvements. (patchset #2 id:20001 of https://codereview.chromium.org/
1177123002/)
Reason for revert:
Code printout has become unreadable. Offsets are printed in decimal numbers everywhere else. This is inconsistent with the rest of the code-base. Some examples are tables for deoptimization data, safepoints and exception handlers. I would be fine with this change if _all_ tracing would be adapted. But there are _many_ places to touch.
Original issue's description:
> Decompiler improvements.
>
> The main motivation is simplifying profiling activities:
>
> 1) Use hex instead of decimal for offsets, just like perf does. This
> affects --print-opt-code
>
> 2) When printing block information, indicate loop information: if
> block is header, where the end is; if block is in a loop, where the
> loop starts. This affects --code-comments.
>
> Using --print-opt-code --code-comments, and cross-referencing with data
> obtained from perf, one may now find the block a hotspot belongs to
> without needing to do hex2dec/dec2hex conversions. Once found, loop info
> is available locally, on the block.
>
> BUG=
>
> Committed: https://crrev.com/
32f4bd659d38eb5485eedb1d0dd236ff1bdc01d5
> Cr-Commit-Position: refs/heads/master@{#28964}
TBR=jarin@chromium.org,stichnot@chromium.org,jvoung@chromium.org,mtrofin@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1188093002
Cr-Commit-Position: refs/heads/master@{#29046}
machenbach [Tue, 16 Jun 2015 10:18:33 +0000 (03:18 -0700)]
Revert of Serializer: support all alignment kinds. (patchset #3 id:40001 of https://codereview.chromium.org/
1179873003/)
Reason for revert:
[Sheriff] Breaks arm debug compile:
http://build.chromium.org/p/client.v8/builders/V8%20Arm%20-%20debug%20builder/builds/4308
Original issue's description:
> Serializer: support all alignment kinds.
>
> We use an alignment prefix for unusual alignment kinds (not kWordAligned).
> This will cause new objects to be aligned in ReadObject, and back references
> to be aligned to skip padding.
>
> The motivation to change the undefined next sentinel in WeakCell is this:
> When the deserializer aligns an object, it requires filler maps to already
> exist to create filler objects as padding. However, deserializing the
> filler map leads to deserializing NaN, which as heap number is aligned:
> filler map > meta map > weak cell cache > undefined > NaN
> If we use the-hole instead of undefined as sentinel, it works.
>
> R=jochen@chromium.org,bbudge@chromium.org
> BUG=v8:4178
> LOG=N
>
> Committed: https://crrev.com/
2146ab75387d47eef6582bd8c2d0cfc6c42b68b6
> Cr-Commit-Position: refs/heads/master@{#29044}
TBR=jochen@chromium.org,bbudge@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4178
Review URL: https://codereview.chromium.org/
1173253006
Cr-Commit-Position: refs/heads/master@{#29045}
yangguo [Tue, 16 Jun 2015 09:45:57 +0000 (02:45 -0700)]
Serializer: support all alignment kinds.
We use an alignment prefix for unusual alignment kinds (not kWordAligned).
This will cause new objects to be aligned in ReadObject, and back references
to be aligned to skip padding.
The motivation to change the undefined next sentinel in WeakCell is this:
When the deserializer aligns an object, it requires filler maps to already
exist to create filler objects as padding. However, deserializing the
filler map leads to deserializing NaN, which as heap number is aligned:
filler map > meta map > weak cell cache > undefined > NaN
If we use the-hole instead of undefined as sentinel, it works.
R=jochen@chromium.org,bbudge@chromium.org
BUG=v8:4178
LOG=N
Review URL: https://codereview.chromium.org/
1179873003
Cr-Commit-Position: refs/heads/master@{#29044}
bmeurer [Tue, 16 Jun 2015 09:44:23 +0000 (02:44 -0700)]
[turbofan] Work around negative parameter count.
BUG=chromium:500824
LOG=n
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1186333002
Cr-Commit-Position: refs/heads/master@{#29043}
sejunho [Tue, 16 Jun 2015 08:20:12 +0000 (01:20 -0700)]
Fix compile warning [-Wtype-limits]
This fixes warning on android_arm build.
Previously the compiler complained about a check that can never be true.
See second check below(index is size_t type, FIRST_SPACE=0):
if (index > i::LAST_SPACE || index < i::FIRST_SPACE)
And make the code easy to understand.
BUG=
Review URL: https://codereview.chromium.org/
1155043005
Cr-Commit-Position: refs/heads/master@{#29042}
wingo [Tue, 16 Jun 2015 08:13:33 +0000 (01:13 -0700)]
All private symbols are own symbols
R=rossberg@chromium.org
LOG=N
BUG=
Review URL: https://codereview.chromium.org/
1182303004
Cr-Commit-Position: refs/heads/master@{#29041}
bmeurer [Tue, 16 Jun 2015 08:08:35 +0000 (01:08 -0700)]
[crankshaft] Fix wrong bailout points in for-in loop body.
R=jochen@chromium.org
BUG=chromium:500435
LOG=y
Review URL: https://codereview.chromium.org/
1183683004
Cr-Commit-Position: refs/heads/master@{#29040}
jochen [Tue, 16 Jun 2015 07:37:16 +0000 (00:37 -0700)]
Introduce a base pointer field in FixedTypedArrayBase and teach GC about it
This is the first step towards unifying external and on-heap typed arrays.
The end-state will be that this base pointer either points to the on-heap values
or to the externally allocated array buffer.
BUG=v8:3996
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1176263004
Cr-Commit-Position: refs/heads/master@{#29039}
yangguo [Tue, 16 Jun 2015 07:11:11 +0000 (00:11 -0700)]
Debugger: require debugger to be active when dealing with breaks.
This invariant will save us some head ache.
The changes to test-debug/DebugStub is due to the fact that it abuses
the ability to set break points in code that has no debug break slots.
This is now no longer possible.
R=ulan@chromium.org
BUG=v8:4132
LOG=N
Review URL: https://codereview.chromium.org/
1181013007
Cr-Commit-Position: refs/heads/master@{#29038}
bmeurer [Tue, 16 Jun 2015 06:04:42 +0000 (23:04 -0700)]
[deoptimizer] Use TranslationIterator for OptimizedFrame again.
Using TranslatedState and friends is too expensive compared to the low
level TranslationIterator, because some code (i.e. in Speedometer)
depends on the OptimizedFrame summary/function listing to be very fast.
BUG=chromium:499338
LOG=n
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1181373003
Cr-Commit-Position: refs/heads/master@{#29037}
mstarzinger [Tue, 16 Jun 2015 04:01:56 +0000 (21:01 -0700)]
[turbofan] Remove dead code from JSGenericLowering.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1186573004
Cr-Commit-Position: refs/heads/master@{#29036}
v8-autoroll [Tue, 16 Jun 2015 03:26:23 +0000 (20:26 -0700)]
Update V8 DEPS.
Rolling v8/build/gyp to
79de4031069f37870f04e8b6bbf42f0c7fec37aa
Rolling v8/tools/clang to
66ba82eea5b4e2309c220cc3e0f2d67ebc3fff4c
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1187073008
Cr-Commit-Position: refs/heads/master@{#29035}
paul.lind [Tue, 16 Jun 2015 02:29:29 +0000 (19:29 -0700)]
MIPS: Fix for Remove unsafe EmitLoadRegister usage in AddI/SubI for constant right operand.
Fix a missed addiu->Addu, and a bad default use of 'at' register in https://codereview.chromium.org/
1185143002/
TEST=test/mjsunit/regress/regress-500176
BUG=chromium:500176
LOG=N
Review URL: https://codereview.chromium.org/
1187063002
Cr-Commit-Position: refs/heads/master@{#29034}
littledan [Mon, 15 Jun 2015 22:16:33 +0000 (15:16 -0700)]
Inline code generation for %_IsTypedArray
This patch implements %_IsTypedArray in fullcodegen, Hydrogen and
Turbofan in order to implement fast type checks to enable ES6
TypedArray features and semantics efficiently.
R=adamk,titzer
LOG=Y
BUG=v8:4085
Review URL: https://codereview.chromium.org/
1183213002
Cr-Commit-Position: refs/heads/master@{#29033}
littledan [Mon, 15 Jun 2015 21:11:05 +0000 (14:11 -0700)]
Avoid using computed property literals in TypedArrays code
Computed property literals don't seem to work in nosnap yet,
leading to a syntax error.
R=adamk,arv
Review URL: https://codereview.chromium.org/
1189643002
Cr-Commit-Position: refs/heads/master@{#29032}
littledan [Mon, 15 Jun 2015 18:54:27 +0000 (11:54 -0700)]
Allow TypedArrays to be initialized with iterables
In ES6, the TypedArray constructor can be called either with an
array-like object or an iterable. The code previously handled
only array-like objects. This patch switches to supporting
iterables while throwing in an optimization to make Arrays
get allocated the old way, without an extra copy.
BUG=v8:4090
LOG=Y
R=adamk
Review URL: https://codereview.chromium.org/
1181903003
Cr-Commit-Position: refs/heads/master@{#29031}
dusan.milosavljevic [Mon, 15 Jun 2015 17:58:30 +0000 (10:58 -0700)]
MIPS: Remove unsafe EmitLoadRegister usage in AddI/SubI for constant right operand.
TEST=test/mjsunit/regress/regress-500176
BUG=chromium:500176
LOG=N
Review URL: https://codereview.chromium.org/
1185143002
Cr-Commit-Position: refs/heads/master@{#29030}
dslomov [Mon, 15 Jun 2015 17:06:34 +0000 (10:06 -0700)]
[destructuring] Parse binding patterns in formal parameters.
R=arv@chromium.org,wingo@igalia.com,caitpotter88@gmail.com
LOG=N
BUG=v8:811
Review URL: https://codereview.chromium.org/
1167393005
Cr-Commit-Position: refs/heads/master@{#29029}
bmeurer [Mon, 15 Jun 2015 14:06:11 +0000 (07:06 -0700)]
[turbofan] Remove the TryLowerDirectJSCall hack from generic lowering.
The TryLowerDirectJSCall method tried to lower to a direct JavaScript
function call depending on the type of the receiver, but only if the
target is a cosntant JSFunction. Since this depends on types and is not
required for correctness, it shouldn't be part of generic lowering
anyway. So this functionality was moved to typed lowering instead, and
we use proper types for the target instead.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1182193005
Cr-Commit-Position: refs/heads/master@{#29028}
ulan [Mon, 15 Jun 2015 12:28:31 +0000 (05:28 -0700)]
Remove the --collect-maps flag. Maps should be always collected.
Reasons:
- It is not used.
- It complicates code in GC.
BUG=chromium:499713
LOG=NO
Review URL: https://codereview.chromium.org/
1184723002
Cr-Commit-Position: refs/heads/master@{#29027}
rossberg [Mon, 15 Jun 2015 12:22:33 +0000 (05:22 -0700)]
[strong] Make strong 'this' optional for experimentation
R=arv@chromium.org, conradw@chromium.org
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1180943007
Cr-Commit-Position: refs/heads/master@{#29026}
bmeurer [Mon, 15 Jun 2015 12:21:28 +0000 (05:21 -0700)]
[turbofan] Remove context canonicalization hack from generic lowering.
This hack doesn't help currently, since it only applies to asm.js where
we do function context specialization and there we already have a
canonicalized context (and the CodeGenerator materializes that from the
frame).
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1177033006
Cr-Commit-Position: refs/heads/master@{#29025}
balazs.kilvady [Mon, 15 Jun 2015 12:05:08 +0000 (05:05 -0700)]
MIPS64: Reland 'Enable shorten-64-to-32 warning.'
Port
cdc43bc5fd02fff2905e2e28a79054d0d1eee3ea
Original review: https://codereview.chromium.org/
1133163005/
Original commit message:
Enable clang's shorten-64-to-32 warning flag on ARM64, and fix the warnings
that arise.
BUG=
Review URL: https://codereview.chromium.org/
1182193004
Cr-Commit-Position: refs/heads/master@{#29024}
wingo [Mon, 15 Jun 2015 12:03:34 +0000 (05:03 -0700)]
Fix -Wsign-compare errors in TF tests under GCC 4.9.2
R=jkummerow@chromium.org
LOG=N
BUG=
Review URL: https://codereview.chromium.org/
1191433003
Cr-Commit-Position: refs/heads/master@{#29023}
machenbach [Mon, 15 Jun 2015 11:56:09 +0000 (04:56 -0700)]
Revert of Fix clobbered register when setting this_function variable. (patchset #2 id:20001 of https://codereview.chromium.org/
1185703002/)
Reason for revert:
[Sheriff] Makes mjsunit/es6/block-const-assign flaky, e.g.:
http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/4082
Original issue's description:
> Fix clobbered register when setting this_function variable.
>
> R=arv@chromium.org
> TEST=mjsunit/regress/regress-crbug-498022
> BUG=chromium:498022
> LOG=N
>
> Committed: https://crrev.com/
bf2bbc8ba508ccd21edf3c08d2e4192c4764ae91
> Cr-Commit-Position: refs/heads/master@{#29020}
TBR=arv@chromium.org,rossberg@chromium.org,mstarzinger@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:498022
Review URL: https://codereview.chromium.org/
1184093003
Cr-Commit-Position: refs/heads/master@{#29022}
bmeurer [Mon, 15 Jun 2015 10:27:17 +0000 (03:27 -0700)]
[mjsunit] regress/regress-crbug-491062 takes too long with --always-opt.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
1183133002
Cr-Commit-Position: refs/heads/master@{#29021}
mstarzinger [Mon, 15 Jun 2015 10:18:45 +0000 (03:18 -0700)]
Fix clobbered register when setting this_function variable.
R=arv@chromium.org
TEST=mjsunit/regress/regress-crbug-498022
BUG=chromium:498022
LOG=N
Review URL: https://codereview.chromium.org/
1185703002
Cr-Commit-Position: refs/heads/master@{#29020}
jarin [Mon, 15 Jun 2015 10:14:28 +0000 (03:14 -0700)]
Fix debug printing of inputs in the deoptimizer, pull out printing into separate methods.
Also fixed the duplicated output of context deopt.
BUG=
Review URL: https://codereview.chromium.org/
1187533002
Cr-Commit-Position: refs/heads/master@{#29019}
bmeurer [Mon, 15 Jun 2015 09:42:57 +0000 (02:42 -0700)]
[mjsunit] Remove unsupported flag --turbo-deoptimization from tests.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1183123002
Cr-Commit-Position: refs/heads/master@{#29018}
bmeurer [Mon, 15 Jun 2015 09:31:50 +0000 (02:31 -0700)]
[mjsunit] Remove obsolete nosse2 tests.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1186713003
Cr-Commit-Position: refs/heads/master@{#29017}
yangguo [Mon, 15 Jun 2015 08:41:13 +0000 (01:41 -0700)]
Serializer: clear string hash for code serializer.
R=jochen@chromium.org
BUG=v8:4179
LOG=N
Review URL: https://codereview.chromium.org/
1183483006
Cr-Commit-Position: refs/heads/master@{#29016}
ulan [Mon, 15 Jun 2015 08:32:52 +0000 (01:32 -0700)]
Compute the heap growing factor based on mutator utilization and allocation throughput.
Doc: https://goo.gl/LLGvBs
BUG=
Review URL: https://codereview.chromium.org/
1163143009
Cr-Commit-Position: refs/heads/master@{#29015}
jochen [Mon, 15 Jun 2015 07:57:32 +0000 (00:57 -0700)]
Reland "Keep track of array buffers in new space separately"
Original review https://codereview.chromium.org/
1133773002/
BUG=v8:3996
TBR=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1177293003
Cr-Commit-Position: refs/heads/master@{#29014}
machenbach [Mon, 15 Jun 2015 07:53:55 +0000 (00:53 -0700)]
Update V8 DEPS.
Rolling v8/third_party/android_tools to
ed3dde6470c39b196c70f0c20374894d169754ec
Resubmission of https://codereview.chromium.org/
1183753006/
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/
1181413003
Cr-Commit-Position: refs/heads/master@{#29013}
yangguo [Mon, 15 Jun 2015 06:36:55 +0000 (23:36 -0700)]
Add test for code caching API.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
1180113002
Cr-Commit-Position: refs/heads/master@{#29012}
bmeurer [Mon, 15 Jun 2015 06:27:10 +0000 (23:27 -0700)]
[turbofan] Mark MachineType as uint16_t.
This fixes a few funky implicit conversions for the enum (that are
inconsistent across compilers) and also helps to save space, i.e. for
the representations_ vector in the InstructionSequence.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1182303003
Cr-Commit-Position: refs/heads/master@{#29011}
bmeurer [Mon, 15 Jun 2015 06:07:45 +0000 (23:07 -0700)]
[turbofan] Remove unused typedef VirtualRegisterSet.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1179913003
Cr-Commit-Position: refs/heads/master@{#29010}
jochen [Sun, 14 Jun 2015 18:23:17 +0000 (11:23 -0700)]
Revert of Reland "Keep track of array buffers in new space separately" (patchset #2 id:20001 of https://codereview.chromium.org/
1177083003/)
Reason for revert:
Still broken
Original issue's description:
> Reland "Keep track of array buffers in new space separately"
>
> Original review https://codereview.chromium.org/
1133773002/
>
> BUG=v8:3996
> TBR=hpayer@chromium.org
> LOG=n
>
> Committed: https://crrev.com/
89b9a2cfb317e52186f682c91502b22932d52db3
> Cr-Commit-Position: refs/heads/master@{#28987}
TBR=hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3996
Review URL: https://codereview.chromium.org/
1186613007
Cr-Commit-Position: refs/heads/master@{#29009}
verwaest [Sat, 13 Jun 2015 11:16:00 +0000 (04:16 -0700)]
Also handle elements in *RealNamed* api methods
Apparently the *RealNamed* API methods only have named variants, but were always used by the embedder to find elements as well. We'd never find them though, since we wouldn't even look
there.
This CL ensures we check whether the name is actually an array index.
I guess for all named API functions we should assume they are used similar to o["name"] where name could also be a number... At least we should make it uniform between embedder and V8. This matches us up with their expectations for now...
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/
1177383004
Cr-Commit-Position: refs/heads/master@{#29008}
v8-autoroll [Sat, 13 Jun 2015 03:25:05 +0000 (20:25 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
bb23ac0328fd3d051fc2f5ff027c8e0f87cc6fb5
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1186753003
Cr-Commit-Position: refs/heads/master@{#29007}
binji [Fri, 12 Jun 2015 19:40:58 +0000 (12:40 -0700)]
Remove some unused definitions from d8.h
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
1184853003
Cr-Commit-Position: refs/heads/master@{#29006}
chunyang.dai [Fri, 12 Jun 2015 17:22:48 +0000 (10:22 -0700)]
Currently on X87 platform we use only Double register (stack register) for Turbofan. So we directly
use 1 as allocatable Double register number when setting up the default register configuration..
It does not change the double register configuration of other platforms.
BUG=v8:4135
LOG=N
Review URL: https://codereview.chromium.org/
1164813007
Cr-Commit-Position: refs/heads/master@{#29005}
verwaest [Fri, 12 Jun 2015 16:30:03 +0000 (09:30 -0700)]
Introduce LookupIterator::PropertyOrElement which converts name to index if possible.
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/
1178893002
Cr-Commit-Position: refs/heads/master@{#29004}
chunyang.dai [Fri, 12 Jun 2015 15:22:29 +0000 (08:22 -0700)]
X87: Disable the test case for X87 since
ea2cb139d.
The strong-object-set-proto test cases will throw one expected exception
and the exception message should include the source position in the JS
file. But crankshaft compiler does not generate the source position for
it when creating the flow graph by default. The source position information
is always zero. So it failed when comparing with the reference file.
If we use crankshaft compiler on IA32 platform to run this test case, it
has the same failure.
we will open these test case for x87 once turbofan for X87 is enabled.
BUG=
Review URL: https://codereview.chromium.org/
1179763003
Cr-Commit-Position: refs/heads/master@{#29003}
verwaest [Fri, 12 Jun 2015 14:13:56 +0000 (07:13 -0700)]
Introduce DefineOwnPropertyIgnoreAttributes and make it call SetPropertyWithInterceptor.
Otherwise using Object.defineProperty with window.localStorage will not actually store the value into the database but on the object itself.
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/
1180073002
Cr-Commit-Position: refs/heads/master@{#29002}
machenbach [Fri, 12 Jun 2015 13:43:52 +0000 (06:43 -0700)]
[test] More debugging output in test runner.
Also use again the taskkill method, recently removed in
https://codereview.chromium.org/
1156133006/
BUG=chromium:485932
LOG=n
TBR=jkummerow@chromium.org
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
1177903005
Cr-Commit-Position: refs/heads/master@{#29001}
verwaest [Fri, 12 Jun 2015 12:39:32 +0000 (05:39 -0700)]
Reland of Replace SetObjectProperty / DefineObjectProperty with less powerful alternatives where relevant. (patchset #3 id:40001 of https://codereview.chromium.org/
1178503004/)
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/
1180943002
Cr-Commit-Position: refs/heads/master@{#29000}
ishell [Fri, 12 Jun 2015 12:36:36 +0000 (05:36 -0700)]
Map::TryUpdate() must be in sync with Map::Update().
This CL fixes elements kind transitions handling in Map::TryUpdate().
BUG=v8:4121
LOG=Y
Review URL: https://codereview.chromium.org/
1181163002
Cr-Commit-Position: refs/heads/master@{#28999}
wingo [Fri, 12 Jun 2015 12:34:10 +0000 (05:34 -0700)]
Add script context with context-allocated "const this"
This is a reapplication of https://codereview.chromium.org/
1173333004.
R=rossberg@chromium.org
LOG=N
BUG=498811
Review URL: https://codereview.chromium.org/
1178903003
Cr-Commit-Position: refs/heads/master@{#28998}
bmeurer [Fri, 12 Jun 2015 12:03:03 +0000 (05:03 -0700)]
[turbofan] Use appropriate type for NodeId.
Up until now we used int32_t for NodeId, but that was not ideal because
negative values are invalid for NodeId and we use it as an array index
for example in the NodeMarker class, where C++ compilers on x64 have to
generate code that does proper sign extension for the indices, which is
completely unnecessary.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1178403004
Cr-Commit-Position: refs/heads/master@{#28997}
wingo [Fri, 12 Jun 2015 11:53:03 +0000 (04:53 -0700)]
Revert of Add script context with context-allocated "const this" (patchset #2 id:20001 of https://codereview.chromium.org/
1173333004/)
Reason for revert:
nosnap failure
Original issue's description:
> Add script context with context-allocated "const this"
>
> This is a reapplication of https://codereview.chromium.org/
1179893002/.
>
> R=rossberg@chromium.org,mstarzinger@chromium.org
> LOG=N
> BUG=498811
>
> Committed: https://crrev.com/
cfc764f4050edc74aef92daa4c39ccc113893968
> Cr-Commit-Position: refs/heads/master@{#28994}
TBR=mstarzinger@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=498811
Review URL: https://codereview.chromium.org/
1177903004
Cr-Commit-Position: refs/heads/master@{#28996}
dusan.milosavljevic [Fri, 12 Jun 2015 11:42:06 +0000 (04:42 -0700)]
MIPS64: Fix memory allocation when code range is used for LO space only.
Allocation must respect requested reserve size, not requested commit area size.
Additionally fix check failures in debug mode for mips64.
After CL: https://codereview.chromium.org/
1147503002/
memory for large code objects is allocated from code range,
memory for regular code objects is allocated normally.
TEST=cctest/test-spaces/MemoryChunk
BUG=
Review URL: https://codereview.chromium.org/
1172333002
Cr-Commit-Position: refs/heads/master@{#28995}
wingo [Fri, 12 Jun 2015 11:11:13 +0000 (04:11 -0700)]
Add script context with context-allocated "const this"
This is a reapplication of https://codereview.chromium.org/
1179893002/.
R=rossberg@chromium.org,mstarzinger@chromium.org
LOG=N
BUG=498811
Review URL: https://codereview.chromium.org/
1173333004
Cr-Commit-Position: refs/heads/master@{#28994}
bmeurer [Fri, 12 Jun 2015 10:33:13 +0000 (03:33 -0700)]
[turbofan] Move RawMachineAssembler to unittests.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1177353003
Cr-Commit-Position: refs/heads/master@{#28993}
machenbach [Fri, 12 Jun 2015 10:07:22 +0000 (03:07 -0700)]
Revert of Add script context with context-allocated "const this" (patchset #7 id:120001 of https://codereview.chromium.org/
1179893002/)
Reason for revert:
[Sheriff] Breaks gc mole:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gcmole/builds/2435
Original issue's description:
> Add script context with context-allocated "const this"
>
> R=rossberg@chromium.org
> LOG=N
> BUG=498811
>
> Committed: https://crrev.com/
fa32d461c16a053cc6d48d3fb326016bc2765765
> Cr-Commit-Position: refs/heads/master@{#28988}
TBR=rossberg@chromium.org,mstarzinger@chromium.org,wingo@igalia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=498811
Review URL: https://codereview.chromium.org/
1180043004
Cr-Commit-Position: refs/heads/master@{#28992}
yangguo [Fri, 12 Jun 2015 09:58:23 +0000 (02:58 -0700)]
Revert of MIPS64: Enable shorten-64-to-32 warning. (patchset #12 id:240001 of https://codereview.chromium.org/
1133163005/)
Reason for revert:
Compile failure: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Mac64%20-%20debug/builds/3070/steps/compile/logs/stdio
Original issue's description:
> MIPS64: Enable shorten-64-to-32 warning.
>
> Port
cdc43bc5fd02fff2905e2e28a79054d0d1eee3ea
>
> Original commit message:
> Enable clang's shorten-64-to-32 warning flag on ARM64, and fix the warnings
> that arise.
>
> BUG=
>
> Committed: https://crrev.com/
9af578a7c83b58a0ce25345998d9287cbf2030cb
> Cr-Commit-Position: refs/heads/master@{#28990}
TBR=danno@chromium.org,martyn.capewell@arm.com,paul.lind@imgtec.com,akos.palfi@imgtec.com,dusan.milosavljevic@imgtec.com,jkummerow@chromium.org,machenbach@chromium.org,svenpanne@chromium.org,balazs.kilvady@imgtec.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1182493007
Cr-Commit-Position: refs/heads/master@{#28991}
balazs.kilvady [Fri, 12 Jun 2015 09:39:54 +0000 (02:39 -0700)]
MIPS64: Enable shorten-64-to-32 warning.
Port
cdc43bc5fd02fff2905e2e28a79054d0d1eee3ea
Original commit message:
Enable clang's shorten-64-to-32 warning flag on ARM64, and fix the warnings
that arise.
BUG=
Review URL: https://codereview.chromium.org/
1133163005
Cr-Commit-Position: refs/heads/master@{#28990}
yangguo [Fri, 12 Jun 2015 09:36:58 +0000 (02:36 -0700)]
External snapshot: allow empty snapshot for external snapshot.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
1180043003
Cr-Commit-Position: refs/heads/master@{#28989}
wingo [Fri, 12 Jun 2015 09:35:50 +0000 (02:35 -0700)]
Add script context with context-allocated "const this"
R=rossberg@chromium.org
LOG=N
BUG=498811
Review URL: https://codereview.chromium.org/
1179893002
Cr-Commit-Position: refs/heads/master@{#28988}
jochen [Fri, 12 Jun 2015 09:34:38 +0000 (02:34 -0700)]
Reland "Keep track of array buffers in new space separately"
Original review https://codereview.chromium.org/
1133773002/
BUG=v8:3996
TBR=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1177083003
Cr-Commit-Position: refs/heads/master@{#28987}
Michael Achenbach [Fri, 12 Jun 2015 09:25:38 +0000 (11:25 +0200)]
Whitespace change to test infra clean-ups.
Cr-Commit-Position: refs/heads/master@{#28986}
jochen [Fri, 12 Jun 2015 08:35:41 +0000 (01:35 -0700)]
Update PrintStack signature in gdbinit
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1179053004
Cr-Commit-Position: refs/heads/master@{#28985}
jochen [Fri, 12 Jun 2015 08:27:51 +0000 (01:27 -0700)]
Add support for walking stack frames from hydrogen stubs
R=yangguo@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
1184493003
Cr-Commit-Position: refs/heads/master@{#28984}
Benedikt Meurer [Fri, 12 Jun 2015 08:04:58 +0000 (10:04 +0200)]
[turbofan] Inline hot functions for NodeMarkerBase.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1184693002.
Cr-Commit-Position: refs/heads/master@{#28983}
Michael Achenbach [Fri, 12 Jun 2015 07:20:06 +0000 (09:20 +0200)]
Whitespace change to test infra clean-ups.
Cr-Commit-Position: refs/heads/master@{#28982}
machenbach [Fri, 12 Jun 2015 06:49:33 +0000 (23:49 -0700)]
Revert of [es6] Bound function names (patchset #1 id:1 of https://codereview.chromium.org/
1182513002/)
Reason for revert:
[Sheriff] Speculative revert for changing layout tests:
https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Linux_32/379/layout-test-results/results.html
Exact blame assignment is not possible as our blink bots were in a bad state for a few builds.
Original issue's description:
> [es6] Bound function names
>
> https://people.mozilla.org/~jorendorff/es6-draft.html#sec-function.prototype.bind
>
> Bound functions should have a name based on the function that was
> bound.
>
> BUG=N
> LOG=N
> R=adamk CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
>
> Committed: https://crrev.com/
4e2a673881c55a13124dd62f2d05c8d9fe233cd3
> Cr-Commit-Position: refs/heads/master@{#28968}
TBR=adamk@chromium.org,arv@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=N
Review URL: https://codereview.chromium.org/
1186463002
Cr-Commit-Position: refs/heads/master@{#28981}
bmeurer [Fri, 12 Jun 2015 06:30:56 +0000 (23:30 -0700)]
[turbofan] Use RootIndexMap to speed up IsMaterializableFromRoot predicate.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1181123002
Cr-Commit-Position: refs/heads/master@{#28980}
bmeurer [Fri, 12 Jun 2015 06:29:04 +0000 (23:29 -0700)]
Revert of Keep track of array buffers in new space separately (patchset #4 id:60001 of https://codereview.chromium.org/
1133773002/)
Reason for revert:
GC stress unhappy
Original issue's description:
> Keep track of array buffers in new space separately
>
> BUG=v8:3996
> R=hpayer@chromium.org
> LOG=n
>
> Committed: https://crrev.com/
506397d0a4241c19f5fab890e49e22d1d9b28bdc
> Cr-Commit-Position: refs/heads/master@{#28978}
TBR=hpayer@chromium.org,jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3996
Review URL: https://codereview.chromium.org/
1178403003
Cr-Commit-Position: refs/heads/master@{#28979}
jochen [Fri, 12 Jun 2015 05:35:24 +0000 (22:35 -0700)]
Keep track of array buffers in new space separately
BUG=v8:3996
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1133773002
Cr-Commit-Position: refs/heads/master@{#28978}
jacob.bramley [Fri, 12 Jun 2015 05:03:01 +0000 (22:03 -0700)]
Reland [arm64][turbofan]: Handle any immediate shift.
With this patch, we can generate simple immediate-shift instructions for
immediates outside the range "0 <= imm < width". Several related
instruction selectors have also been updated accordingly.
Example of generated code:
---- Before --- ---- After ----
movz w0, #33 lsr w0, w1, #1
lsr w0, w1, w0
BUG=
Review URL: https://codereview.chromium.org/
1179893003
Cr-Commit-Position: refs/heads/master@{#28977}
martyn.capewell [Fri, 12 Jun 2015 05:00:59 +0000 (22:00 -0700)]
[turbofan] Prefer add/shift over madd on ARM64
Before selecting multiply-accumulate for a multiplication with add operation,
check that the multiply can't be reduced to add-with-shift. This prevents
simple multiplications by 3, 5, etc turning into register moves and madd
instructions.
Review URL: https://codereview.chromium.org/
1180863002
Cr-Commit-Position: refs/heads/master@{#28976}
mstarzinger [Fri, 12 Jun 2015 04:42:04 +0000 (21:42 -0700)]
[turbofan] Fix throwing conversion inserted by JSTypedLowering.
This fixes the graph wiring of implicit JSToNumber nodes inserted by
JSTypedLowering, to be correctly hooked into a surrounding exceptional
continuation.
R=bmeurer@chromium.org
TEST=mjsunit/compiler/try-binop,test262
Review URL: https://codereview.chromium.org/
1178153004
Cr-Commit-Position: refs/heads/master@{#28975}
v8-autoroll [Fri, 12 Jun 2015 03:27:11 +0000 (20:27 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
8b3ed2cb2e2512fa1074043cea3ada1143b80f26
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1179113002
Cr-Commit-Position: refs/heads/master@{#28974}
verwaest [Thu, 11 Jun 2015 23:02:32 +0000 (16:02 -0700)]
Use LookupIterator in GetOldValue
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/
1178123003
Cr-Commit-Position: refs/heads/master@{#28973}
dehrenberg [Thu, 11 Jun 2015 21:43:08 +0000 (14:43 -0700)]
Add ToObject call in Array.prototype.sort
The spec says ToObject is called on the receiver, and this is
observable if you call sort on a primitive. This patch trivially
adds the call and a test.
BUG=v8:4125
R=adamk
LOG=Y
Review URL: https://codereview.chromium.org/
1178193004
Cr-Commit-Position: refs/heads/master@{#28972}
arv [Thu, 11 Jun 2015 21:24:31 +0000 (14:24 -0700)]
[es6] Make sure we call add property when adding a new property
When setting a property using `super.prop = val` we need to use
add property if we are adding a new property and not set property.
BUG=493566
LOG=N
R=verwaest@chromium.org, dslomov@chromium.org
Review URL: https://codereview.chromium.org/
1161073002
Cr-Commit-Position: refs/heads/master@{#28971}
Toon Verwaest [Thu, 11 Jun 2015 20:46:26 +0000 (22:46 +0200)]
Remove ASSERT, this method can handle ExternalArrays just fine.
BUG=v8:4137
LOG=n
R=arv@chromium.org
Review URL: https://codereview.chromium.org/
1179983002.
Cr-Commit-Position: refs/heads/master@{#28970}
dehrenberg [Thu, 11 Jun 2015 20:40:54 +0000 (13:40 -0700)]
In Array.of and Array.from, fall back to DefineOwnProperty
%AddElement is not intended for objects which are not arrays, and
its behavior may go away with future refactorings. This patch gets
rid of it if the receiver of from or of is not the intrinsic Array
object.
Array.of and Array.from previously papered over failures in calling
[[DefineOwnProperty]] when setting array elements. This patch
makes them lead to exceptions, and adds tests to assert that
the appropriate exceptions are thrown.
BUG=v8:4168
R=adamk
CC=rossberg,verwaest
LOG=Y
Review URL: https://codereview.chromium.org/
1181623003
Cr-Commit-Position: refs/heads/master@{#28969}