chunyang.dai [Wed, 29 Apr 2015 10:34:19 +0000 (03:34 -0700)]
X87: Don't MISS if you read the hole from certain FastHoley arrays.
port
caeb9004f0bfc2a916fc63e9d27100a3110016d4 (r28056)
original commit message:
If the array's map is the initial FastHoley array map, and the array prototype
chain is undisturbed and empty of elements, then keyed loads can convert the
load of a hole to undefined.
BUG=
Review URL: https://codereview.chromium.org/
1104073003
Cr-Commit-Position: refs/heads/master@{#28128}
jochen [Wed, 29 Apr 2015 09:54:34 +0000 (02:54 -0700)]
Pass ArrayBuffer::Allocator via Isolate::CreateParams
We shouldn't have shared state between isolates by default. The embedder
is free to pass the same allocator to all isolates it creates.
BUG=none
R=dcarney@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1116633002
Cr-Commit-Position: refs/heads/master@{#28127}
jkummerow [Wed, 29 Apr 2015 09:31:38 +0000 (02:31 -0700)]
Fix unobservable constructor replacement on prototype maps
BUG=chromium:478522
LOG=y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
1097113003
Cr-Commit-Position: refs/heads/master@{#28126}
mstarzinger [Wed, 29 Apr 2015 09:22:35 +0000 (02:22 -0700)]
[turbofan] Correctly handle illegal redeclarations.
R=titzer@chromium.org
TEST=mjsunit/const-redecl
Review URL: https://codereview.chromium.org/
1115613002
Cr-Commit-Position: refs/heads/master@{#28125}
jkummerow [Wed, 29 Apr 2015 09:03:06 +0000 (02:03 -0700)]
Fix stale pointer issue in heap snapshot generator
Review URL: https://codereview.chromium.org/
1109153002
Cr-Commit-Position: refs/heads/master@{#28124}
ulan [Wed, 29 Apr 2015 08:36:05 +0000 (01:36 -0700)]
Add comment to justify AllowDeferredHandleDereference in WeakCell factory.
BUG=
Review URL: https://codereview.chromium.org/
1110373002
Cr-Commit-Position: refs/heads/master@{#28123}
machenbach [Wed, 29 Apr 2015 07:19:49 +0000 (00:19 -0700)]
[test] Skip tests on msan.
NOTRY=true
BUG=chromium:425187
LOG=n
TBR=Sven Panne, titzer
Review URL: https://codereview.chromium.org/
1110903004
Cr-Commit-Position: refs/heads/master@{#28122}
machenbach [Wed, 29 Apr 2015 05:57:08 +0000 (22:57 -0700)]
Revert of deprecate non-phantom weak callbacks (patchset #1 id:1 of https://codereview.chromium.org/
1103173002/)
Reason for revert:
[Sheriff] This is still used and now blocks the roll here:
http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/47889
Original issue's description:
> Reland: deprecate non-phantom weak callbacks
>
> BUG=
>
> Committed: https://crrev.com/
3be656fb55ad49834ec8ec0a57ba858bb1b21f37
> Cr-Commit-Position: refs/heads/master@{#28094}
TBR=jochen@chromium.org,dcarney@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1117623002
Cr-Commit-Position: refs/heads/master@{#28121}
svenpanne [Wed, 29 Apr 2015 05:54:41 +0000 (22:54 -0700)]
Calculate blocks needing a frame and frame (de)construction sites.
Review URL: https://codereview.chromium.org/
1053123006
Cr-Commit-Position: refs/heads/master@{#28120}
v8-autoroll [Wed, 29 Apr 2015 03:28:37 +0000 (20:28 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
44f7f0bbbce9e581d9328e80d5b0ae88efbc3db4
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1108203005
Cr-Commit-Position: refs/heads/master@{#28119}
mbrandy [Tue, 28 Apr 2015 20:00:44 +0000 (13:00 -0700)]
Fix JSArrayBuffer for big endian.
BUG=
R=jochen@chromium.org, dcarney@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
Review URL: https://codereview.chromium.org/
1108373002
Cr-Commit-Position: refs/heads/master@{#28118}
balazs.kilvady [Tue, 28 Apr 2015 17:20:49 +0000 (10:20 -0700)]
MIPS: Fix 'Add HArrayBufferNotNeutered instruction'.
BUG=
Review URL: https://codereview.chromium.org/
1111003002
Cr-Commit-Position: refs/heads/master@{#28117}
mbrandy [Tue, 28 Apr 2015 17:19:40 +0000 (10:19 -0700)]
PPC: Fix HArrayBufferNotNeutered instruction
Fix faulty condition register usage after andi.
BUG=
R=dstence@us.ibm.com, michael_dawson@ca.ibm.com, jochen@chromium.org, bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1108363002
Cr-Commit-Position: refs/heads/master@{#28116}
arv [Tue, 28 Apr 2015 16:42:35 +0000 (09:42 -0700)]
Import webkit class tests
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/
1109783003
Cr-Commit-Position: refs/heads/master@{#28115}
arv [Tue, 28 Apr 2015 16:09:21 +0000 (09:09 -0700)]
[es6] Fix return checking in derived constructors
In a derived class constructor in case undefined is returned, we
should return the receiver. If the return is any other value type
we should throw a TypeError.
BUG=v8:4061
LOG=N
R=dslomov@chromium.org, adamk@chromium.org
Review URL: https://codereview.chromium.org/
1107203002
Cr-Commit-Position: refs/heads/master@{#28114}
paul.lind [Tue, 28 Apr 2015 15:42:26 +0000 (08:42 -0700)]
MIPS: Fix FP load/store with large offsets from base register.
BUG=481519
LOG=y
Review URL: https://codereview.chromium.org/
1111633002
Cr-Commit-Position: refs/heads/master@{#28113}
dslomov [Tue, 28 Apr 2015 15:15:03 +0000 (08:15 -0700)]
Parsing binding patterns.
Just parsing, no desugaring yet.
R=arv@chromium.org,rossberg@chromium.org
BUG=v8:811
LOG=N
Review URL: https://codereview.chromium.org/
1107053002
Cr-Commit-Position: refs/heads/master@{#28112}
domenic [Tue, 28 Apr 2015 14:58:15 +0000 (07:58 -0700)]
Use "define" instead of "const" for natives macros
The use of "const" prevented the actual JavaScript const keyword from
functioning as intended.
R=jochen@chromium.org,yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1110963003
Cr-Commit-Position: refs/heads/master@{#28111}
domenic [Tue, 28 Apr 2015 14:55:58 +0000 (07:55 -0700)]
Allow extra library files to be snapshotted
BUG=
R=jochen@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1113593002
Cr-Commit-Position: refs/heads/master@{#28110}
jochen [Tue, 28 Apr 2015 13:42:54 +0000 (06:42 -0700)]
Add HArrayBufferNotNeutered instruction
This instruction can be hoisted out of loops even though it contains a branch.
BUG=v8:3996
R=bmeurer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1108313003
Cr-Commit-Position: refs/heads/master@{#28109}
Jochen Eisinger [Tue, 28 Apr 2015 12:28:31 +0000 (14:28 +0200)]
Add missing stdlib include for sample
BUG=none
R=machenbach@chromium.org, machenbach@chromium.or
LOG=n
Review URL: https://codereview.chromium.org/
1113563002
Cr-Commit-Position: refs/heads/master@{#28108}
hpayer [Tue, 28 Apr 2015 12:18:22 +0000 (05:18 -0700)]
Shrink new space and uncommit from space in idle notification during long idle times.
BUG=chromium:481811
LOG=n
Review URL: https://codereview.chromium.org/
1108133003
Cr-Commit-Position: refs/heads/master@{#28107}
scottmg [Tue, 28 Apr 2015 11:33:40 +0000 (04:33 -0700)]
Update _MSC_FULL_VER for 'final' RC bug workaround
Repeat of https://codereview.chromium.org/
1084763002/.
The 'final' RC has changed the version number, but the bug will not be
fixed until RTM.
LOG=N
R=jochen@chromium.org
BUG=chromium:440500
Review URL: https://codereview.chromium.org/
1108193002
Cr-Commit-Position: refs/heads/master@{#28106}
jochen [Tue, 28 Apr 2015 11:25:25 +0000 (04:25 -0700)]
Remove support for malloc'd typed arrays
All typed arrays should be allocated through the array buffer allocator
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1110603005
Cr-Commit-Position: refs/heads/master@{#28105}
conradw [Tue, 28 Apr 2015 11:20:13 +0000 (04:20 -0700)]
[strong] Disallow implicit conversions for bitwise ops, shifts
See https://codereview.chromium.org/
1092353002/
Due to parser rewrites, also implements restrictions for unary ~.
Still to come, implementing restrictions for binary + and comparison.
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1102923002
Cr-Commit-Position: refs/heads/master@{#28104}
machenbach [Tue, 28 Apr 2015 11:18:35 +0000 (04:18 -0700)]
[test] Skip unsuitable tests for msan.
NOTRY=true
BUG=chromium:425187
LOG=n
TBR=Sven Panne, titzer
Review URL: https://codereview.chromium.org/
1107323003
Cr-Commit-Position: refs/heads/master@{#28103}
yangguo [Tue, 28 Apr 2015 11:13:22 +0000 (04:13 -0700)]
Reland: Preprocess structured stack trace on GC to get rid of code reference.
BUG=v8:2340
LOG=N
Review URL: https://codereview.chromium.org/
1109093002
Cr-Commit-Position: refs/heads/master@{#28102}
jkummerow [Tue, 28 Apr 2015 11:02:44 +0000 (04:02 -0700)]
Only try to unregister prototype users that are prototypes themselves
Because only such maps would have been registered in the first place.
This is a performance fix/followup to
f6187fb3b52e518 / r28076.
BUG=chromium:481785
LOG=n
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1105063003
Cr-Commit-Position: refs/heads/master@{#28101}
ssid [Tue, 28 Apr 2015 10:57:38 +0000 (03:57 -0700)]
Extending v8::GetHeapStatistics to return total available size.
For dumping memory statistics about v8 heap, we need the total
available size of the heap. This CL adds extra field in HeapStatistics
to return the available size.
BUG=476013
LOG=Y
Review URL: https://codereview.chromium.org/
1104123002
Cr-Commit-Position: refs/heads/master@{#28100}
dcarney [Tue, 28 Apr 2015 09:59:55 +0000 (02:59 -0700)]
[turbofan] Cleanup LiveRange a bit.
Review URL: https://codereview.chromium.org/
1111563004
Cr-Commit-Position: refs/heads/master@{#28099}
jochen [Tue, 28 Apr 2015 09:40:35 +0000 (02:40 -0700)]
Turn JSArrayBuffer::flags into a bit field
That way, we can access it more easily without all the smi magic
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1112503002
Cr-Commit-Position: refs/heads/master@{#28098}
machenbach [Tue, 28 Apr 2015 09:05:41 +0000 (02:05 -0700)]
[test] Restrict msan to default variant.
NOTRY=true
BUG=chromium:425187
LOG=n
TBR=Sven Panne, titzer
Review URL: https://codereview.chromium.org/
1110923002
Cr-Commit-Position: refs/heads/master@{#28097}
ofrobots [Tue, 28 Apr 2015 08:54:17 +0000 (01:54 -0700)]
fix assertion in Logger::CurrentTimeEvent with --prof
assertion did match the conditions under which this method gets called
(Runtime_DateCurrentTime). The bug got introduced as part of this change:
https://codereview.chromium.org/
802333002
The assertion crash can be reproduced using:
% out/Debug/d8 --prof -e 'new Date();'
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1104303002
Cr-Commit-Position: refs/heads/master@{#28096}
yangguo [Tue, 28 Apr 2015 08:53:12 +0000 (01:53 -0700)]
Port CallSite methods to C++.
The goal is to port all of error stack trace formatting to C++.
We will do this bottom up, by first porting helper functions.
Eventually, CallSite methods will only be used when a custom
error stack trace formatter is defined via Error.prepareStackTrace.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
1060583008
Cr-Commit-Position: refs/heads/master@{#28095}
dcarney [Tue, 28 Apr 2015 08:31:49 +0000 (01:31 -0700)]
Reland: deprecate non-phantom weak callbacks
BUG=
Review URL: https://codereview.chromium.org/
1103173002
Cr-Commit-Position: refs/heads/master@{#28094}
bmeurer [Tue, 28 Apr 2015 06:54:08 +0000 (23:54 -0700)]
[clang] Use -Wshorten-64-to-32 to enable warnings about 64bit to 32bit truncations.
Currently only the Win64 bots report this warnings, which adds quite
some overhead to the development process. With this flag we also get
compiler warnings about implicit 64bit to 32bit truncations when
building with clang on Linux/x64 and Mac/x64.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1111733002
Cr-Commit-Position: refs/heads/master@{#28093}
bmeurer [Tue, 28 Apr 2015 05:09:24 +0000 (22:09 -0700)]
[turbofan] Better fix for Win64 after r28066.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1107253003
Cr-Commit-Position: refs/heads/master@{#28092}
v8-autoroll [Tue, 28 Apr 2015 03:27:55 +0000 (20:27 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
5df4027be48d44a72ef035978746aac46184720e
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1105343002
Cr-Commit-Position: refs/heads/master@{#28091}
chunyang.dai [Mon, 27 Apr 2015 17:02:49 +0000 (10:02 -0700)]
Disable two test cases for turbofan unsupported platform.
These two test cases "InlineCreateArrayLiteral" and "InlineCreateObjectLiteral" are
added in
d1597b7d22d4bd7790715d486b4ceb404310adad. They invokes Linkage::GetStubCallDescriptor
which is unimplemented for turbofan unsupported platform.
BUG=
Review URL: https://codereview.chromium.org/
1095793007
Cr-Commit-Position: refs/heads/master@{#28090}
mbrandy [Mon, 27 Apr 2015 17:01:40 +0000 (10:01 -0700)]
PPC: Don't MISS if you read the hole from certain FastHoley arrays.
Port
caeb9004f0bfc2a916fc63e9d27100a3110016d4
Original commit message:
If the array's map is the initial FastHoley array map, and the array prototype
chain is undisturbed and empty of elements, then keyed loads can convert the
load of a hole to undefined.
BUG=
R=dstence@us.ibm.com, michael_dawson@ca.ibm.com
Review URL: https://codereview.chromium.org/
1110623002
Cr-Commit-Position: refs/heads/master@{#28089}
machenbach [Mon, 27 Apr 2015 16:56:31 +0000 (09:56 -0700)]
Revert of Make it possible to hoist the neutering check for TA property accesses (patchset #1 id:1 of https://codereview.chromium.org/
1107993002/)
Reason for revert:
[Sheriff] Breaks benchmarks:
http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/3403
Original issue's description:
> Make it possible to hoist the neutering check for TA property accesses
>
> Also correctly set up the dependency between propoerty and elements
> accesses and the checks
>
> BUG=v8:3996
> R=hpayer@chromium.org
> LOG=n
>
> Committed: https://crrev.com/
6a62e321381e1a212983804c4197068e842b240f
> Cr-Commit-Position: refs/heads/master@{#28087}
TBR=hpayer@chromium.org,jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3996
Review URL: https://codereview.chromium.org/
1108823003
Cr-Commit-Position: refs/heads/master@{#28088}
jochen [Mon, 27 Apr 2015 16:18:16 +0000 (09:18 -0700)]
Make it possible to hoist the neutering check for TA property accesses
Also correctly set up the dependency between propoerty and elements
accesses and the checks
BUG=v8:3996
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1107993002
Cr-Commit-Position: refs/heads/master@{#28087}
dslomov [Mon, 27 Apr 2015 15:53:46 +0000 (08:53 -0700)]
Revert of Preprocess structured stack trace on GC to get rid of code reference. (patchset #5 id:80001 of https://codereview.chromium.org/
1103843002/)
Reason for revert:
Broke GCStress
Original issue's description:
> Preprocess structured stack trace on GC to get rid of code reference.
>
> R=verwaest@chromium.org
> BUG=v8:2340
> LOG=N
>
> Committed: https://crrev.com/
462ffa1dfa0ab3a851ea0294470d1ed7ed12dd56
> Cr-Commit-Position: refs/heads/master@{#28085}
TBR=verwaest@chromium.org,ulan@chromium.org,hpayer@chromium.org,yurys@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:2340
Review URL: https://codereview.chromium.org/
1102383002
Cr-Commit-Position: refs/heads/master@{#28086}
yangguo [Mon, 27 Apr 2015 14:51:01 +0000 (07:51 -0700)]
Preprocess structured stack trace on GC to get rid of code reference.
R=verwaest@chromium.org
BUG=v8:2340
LOG=N
Review URL: https://codereview.chromium.org/
1103843002
Cr-Commit-Position: refs/heads/master@{#28085}
dslomov [Mon, 27 Apr 2015 14:35:45 +0000 (07:35 -0700)]
Use ExpressionClassifier for bindings.
Just a refactoring, real pattern parsing comes in a later CL.
R=rossberg@chromium.org,marja@chromium.org
BUG=v8:811
LOG=N
Review URL: https://codereview.chromium.org/
1066933005
Cr-Commit-Position: refs/heads/master@{#28084}
titzer [Mon, 27 Apr 2015 14:24:49 +0000 (07:24 -0700)]
Remove kOsrCompileFailed bailout.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1105133002
Cr-Commit-Position: refs/heads/master@{#28083}
erikcorry [Mon, 27 Apr 2015 14:10:27 +0000 (07:10 -0700)]
Do more to avoid last-resort stop-the-world GC
BUG=chromium:481433
R=hpayer@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1104113002
Cr-Commit-Position: refs/heads/master@{#28082}
dcarney [Mon, 27 Apr 2015 14:01:15 +0000 (07:01 -0700)]
Reland: track global accesses to constant types
R=verwaest@chromium.org
BUG=468620
LOG=N
Review URL: https://codereview.chromium.org/
1102543002
Cr-Commit-Position: refs/heads/master@{#28081}
ssid [Mon, 27 Apr 2015 14:00:25 +0000 (07:00 -0700)]
Changing Size to SizeOfObjects in GetHeapSpaceStatistics api.
This CL changes GetHeapSpaceStatistics api to return SizeOfObjects()
instead of Size(). SizeOfObjects is the required field and is
consistent with GetHeapStatistics api.
BUG=476013
LOG=N
Review URL: https://codereview.chromium.org/
1095393005
Cr-Commit-Position: refs/heads/master@{#28080}
machenbach [Mon, 27 Apr 2015 13:30:40 +0000 (06:30 -0700)]
Revert of deprecate non-phantom weak callbacks (patchset #1 id:1 of https://codereview.chromium.org/
1103173002/)
Reason for revert:
[Sheriff] Fails compilation on chromium android:
http://build.chromium.org/p/client.v8/builders/Android%20Builder/builds/4131
Is the chromium version our builder used maybe too old (it uses lkcr)? In that case please reland as soon as it's up-to-date.
Original issue's description:
> deprecate non-phantom weak callbacks
>
> BUG=
>
> Committed: https://crrev.com/
39c31da2142ab0fca9dae279b9e59cd4951a1982
> Cr-Commit-Position: refs/heads/master@{#28077}
TBR=jochen@chromium.org,dcarney@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1104163002
Cr-Commit-Position: refs/heads/master@{#28079}
machenbach [Mon, 27 Apr 2015 13:20:05 +0000 (06:20 -0700)]
Reland [test] Make msan work for v8 stand-alone. (patchset #1 id:1 of https://codereview.chromium.org/
1104073002/)
Reason for revert:
Reland after switching bot to ninja.
Original issue's description:
> Revert of [test] Make msan work for v8 stand-alone. (patchset #6 id:100001 of https://codereview.chromium.org/
802583003/)
>
> Reason for revert:
> Compile failures: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/2047
>
> Original issue's description:
> > [test] Make msan work for v8 stand-alone.
> >
> > The msan configuration can be used in combination with
> > v8_use_snapshot=false.
> >
> > BUG=chromium:425187
> > LOG=n
> >
> > Committed: https://crrev.com/
a65ef0d53fc28b0908f228938c6d84effa83c596
> > Cr-Commit-Position: refs/heads/master@{#28064}
>
> TBR=jochen@chromium.org,earthdok@chromium.org,svenpanne@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=chromium:425187
>
> Committed: https://crrev.com/
f69a48696ec3ec0ea1169a41b4c84fb36b059968
> Cr-Commit-Position: refs/heads/master@{#28068}
TBR=jochen@chromium.org,earthdok@chromium.org,svenpanne@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:425187
Review URL: https://codereview.chromium.org/
1102323002
Cr-Commit-Position: refs/heads/master@{#28078}
dcarney [Mon, 27 Apr 2015 13:06:47 +0000 (06:06 -0700)]
deprecate non-phantom weak callbacks
BUG=
Review URL: https://codereview.chromium.org/
1103173002
Cr-Commit-Position: refs/heads/master@{#28077}
jkummerow [Mon, 27 Apr 2015 12:59:55 +0000 (05:59 -0700)]
Reland "Lazily register prototype users..."
...when handing out validity cells to handlers; because invalidating said cells is
the only time we'll need the user registrations.
Along the way, fix a corner case in WeakFixedArray, which can now be empty after
the recently introduced compaction support.
This reverts commit
968715c653b6337252a05a0224a7a93fab3b0866.
Original review: https://codereview.chromium.org/
1104813004/
Review URL: https://codereview.chromium.org/
1110513002
Cr-Commit-Position: refs/heads/master@{#28076}
dcarney [Mon, 27 Apr 2015 12:46:47 +0000 (05:46 -0700)]
[turbofan] make register hinting explicit
- instead of committing operands early to resolve hints, hold the hint register data on the UsePosition
- allow hints to be rolled back efficiently as needed by GreedyAllocator
- some small drive by fixes
BUG=
Review URL: https://codereview.chromium.org/
1103533002
Cr-Commit-Position: refs/heads/master@{#28075}
yangguo [Mon, 27 Apr 2015 12:33:58 +0000 (05:33 -0700)]
Wrap messages implementation in a function.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
1106633002
Cr-Commit-Position: refs/heads/master@{#28074}
titzer [Mon, 27 Apr 2015 12:15:32 +0000 (05:15 -0700)]
[turbofan] Reland: Optimize loads from the global object in JSTypeFeedbackSpecializer.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1110503002
Cr-Commit-Position: refs/heads/master@{#28073}
wingo [Mon, 27 Apr 2015 12:13:45 +0000 (05:13 -0700)]
Eagerly declare eval scopes, even for sloppy scopes
R=mstarzinger@chromium.org
LOG=N
BUG=N
Review URL: https://codereview.chromium.org/
1110473003
Cr-Commit-Position: refs/heads/master@{#28072}
yangguo [Mon, 27 Apr 2015 12:10:24 +0000 (05:10 -0700)]
Debugger: clean up debug events.
The debug event BreakForCommand is now deprecated, as it cannot happen any longer.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
1089893002
Cr-Commit-Position: refs/heads/master@{#28071}
hablich [Mon, 27 Apr 2015 11:32:29 +0000 (04:32 -0700)]
[release-tools] Return no hash if version is not available.
BUG=
Review URL: https://codereview.chromium.org/
1105023002
Cr-Commit-Position: refs/heads/master@{#28070}
titzer [Mon, 27 Apr 2015 11:18:41 +0000 (04:18 -0700)]
Disable test-run-jsexceptions for nosnap builds.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1105043002
Cr-Commit-Position: refs/heads/master@{#28069}
machenbach [Mon, 27 Apr 2015 11:14:31 +0000 (04:14 -0700)]
Revert of [test] Make msan work for v8 stand-alone. (patchset #6 id:100001 of https://codereview.chromium.org/
802583003/)
Reason for revert:
Compile failures: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/2047
Original issue's description:
> [test] Make msan work for v8 stand-alone.
>
> The msan configuration can be used in combination with
> v8_use_snapshot=false.
>
> BUG=chromium:425187
> LOG=n
>
> Committed: https://crrev.com/
a65ef0d53fc28b0908f228938c6d84effa83c596
> Cr-Commit-Position: refs/heads/master@{#28064}
TBR=jochen@chromium.org,earthdok@chromium.org,svenpanne@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:425187
Review URL: https://codereview.chromium.org/
1104073002
Cr-Commit-Position: refs/heads/master@{#28068}
Benedikt Meurer [Mon, 27 Apr 2015 11:04:54 +0000 (13:04 +0200)]
[turbofan] Fix win64 after r28066.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1106963002
Cr-Commit-Position: refs/heads/master@{#28067}
Benedikt Meurer [Mon, 27 Apr 2015 10:44:47 +0000 (12:44 +0200)]
[turbofan] Add language mode to JSCallFunction operator.
Also do some drive-by-cleanup to the unittests.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1107883002
Cr-Commit-Position: refs/heads/master@{#28066}
verwaest [Mon, 27 Apr 2015 10:18:51 +0000 (03:18 -0700)]
Handlify ExecutableAccessorInfo::ClearSetter since it allocates.
BUG=chromium:478556
LOG=n
Review URL: https://codereview.chromium.org/
1107853002
Cr-Commit-Position: refs/heads/master@{#28065}
machenbach [Mon, 27 Apr 2015 10:14:25 +0000 (03:14 -0700)]
[test] Make msan work for v8 stand-alone.
The msan configuration can be used in combination with
v8_use_snapshot=false.
BUG=chromium:425187
LOG=n
Review URL: https://codereview.chromium.org/
802583003
Cr-Commit-Position: refs/heads/master@{#28064}
machenbach [Mon, 27 Apr 2015 10:07:30 +0000 (03:07 -0700)]
Revert of [turbofan] Optimize loads from the global object in JSTypeFeedbackSpecializer. (patchset #10 id:180001 of https://codereview.chromium.org/
1063513003/)
Reason for revert:
[sheriff] Breaks nosnap debug:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug%20-%201/builds/156
Original issue's description:
> [turbofan] Optimize loads from the global object in JSTypeFeedbackSpecializer.
>
> Uses lazy deoptimization and code dependencies to introduce loads
> from property cells and also to promote globals to constants.
>
> R=mstarzinger@chromium.org
> BUG=
>
> Committed: https://crrev.com/
aae4a62d07e839455b1d0ad4fa512cc5d48a1a68
> Cr-Commit-Position: refs/heads/master@{#28057}
TBR=mstarzinger@chromium.org,titzer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1084533003
Cr-Commit-Position: refs/heads/master@{#28063}
mstarzinger [Mon, 27 Apr 2015 09:57:47 +0000 (02:57 -0700)]
[turbofan] Introduce explicit JSCreateLiteral[Array|Object].
This uses explicit operators instead of intrinsic runtime calls to
create literals froms boilerplates. It allows for easier access of
static parameters and syncs it with other allocating operators.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1104453006
Cr-Commit-Position: refs/heads/master@{#28062}
Benedikt Meurer [Mon, 27 Apr 2015 09:33:58 +0000 (11:33 +0200)]
[turbofan] Sanitize language mode for JSStoreProperty operator.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1109733002
Cr-Commit-Position: refs/heads/master@{#28061}
jochen [Mon, 27 Apr 2015 09:28:16 +0000 (02:28 -0700)]
Reland "Remove the weak list of views from array buffers"
Original description:
> Instead, views have to check their array buffer for whether
> it's neutered or not.
>
> BUG=v8:3996
> R=hpayer@chromium.org,dslomov@chromium.org,verwaest@chromium.org
> LOG=n
BUG=v8:3996
R=hpayer@chromium.org,dslomov@chromium.org,verwaest@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1107843002
Cr-Commit-Position: refs/heads/master@{#28060}
Benedikt Meurer [Mon, 27 Apr 2015 09:12:58 +0000 (11:12 +0200)]
[turbofan] Sanitize language mode for javascript operators.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1084243005
Cr-Commit-Position: refs/heads/master@{#28059}
mstarzinger [Mon, 27 Apr 2015 09:08:20 +0000 (02:08 -0700)]
[turbofan] Use FastNewClosureStub if possible.
This introduces a JSCreateClosure operator which can be lowered by the
typed pipeline to the aforementioned stub. It also allows for further
optimizations of closure creation.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
1105513002
Cr-Commit-Position: refs/heads/master@{#28058}
titzer [Mon, 27 Apr 2015 09:07:09 +0000 (02:07 -0700)]
[turbofan] Optimize loads from the global object in JSTypeFeedbackSpecializer.
Uses lazy deoptimization and code dependencies to introduce loads
from property cells and also to promote globals to constants.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1063513003
Cr-Commit-Position: refs/heads/master@{#28057}
mvstanton [Mon, 27 Apr 2015 08:46:58 +0000 (01:46 -0700)]
Don't MISS if you read the hole from certain FastHoley arrays.
If the array's map is the initial FastHoley array map, and the array prototype
chain is undisturbed and empty of elements, then keyed loads can convert the
load of a hole to undefined.
BUG=
Review URL: https://codereview.chromium.org/
1100083002
Cr-Commit-Position: refs/heads/master@{#28056}
jarin [Mon, 27 Apr 2015 08:31:56 +0000 (01:31 -0700)]
Fix stack layout of full code arm64 for object literal.
BUG=
Review URL: https://codereview.chromium.org/
1095203005
Cr-Commit-Position: refs/heads/master@{#28055}
mstarzinger [Mon, 27 Apr 2015 08:20:20 +0000 (01:20 -0700)]
[test] Limit "unittests" suite to default variant.
This changes the unittests suite to be run in only the default variant,
because unit tests are (and should be) written to be independent from
global flags.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1067863007
Cr-Commit-Position: refs/heads/master@{#28054}
mtrofin [Mon, 27 Apr 2015 07:21:58 +0000 (00:21 -0700)]
[turbofan] LiveRange splitting at interval boundary fix.
When splitting live ranges between interval boundary,
the intervals still link eachother. This fixes that.
BUG=
Review URL: https://codereview.chromium.org/
1102243002
Cr-Commit-Position: refs/heads/master@{#28053}
v8-autoroll [Sun, 26 Apr 2015 03:26:01 +0000 (20:26 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
cb9ddad752c487e2f4df2bf32df70daaa9afded5
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1103043002
Cr-Commit-Position: refs/heads/master@{#28052}
v8-autoroll [Sat, 25 Apr 2015 03:51:05 +0000 (20:51 -0700)]
Update V8 DEPS.
Rolling v8/buildtools to
15308f469a704c45d15567fa69cd94ce07ad0e1b
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1107773002
Cr-Commit-Position: refs/heads/master@{#28051}
arv [Fri, 24 Apr 2015 18:16:18 +0000 (11:16 -0700)]
[es6] Map/Set size getter should have "get size" name
This reverts commit
d5565c1f689b2953d92abd350529363f04f90fcd.
Getter and setter function names in ES6 are defined as "get foo" and
"set foo".
This also moves the logic for handling symbols from runtime-function.cc
to v8natives.js.
BUG=None
LOG=N
R=adamk@chromium.org
Review URL: https://codereview.chromium.org/
1093183006
Cr-Commit-Position: refs/heads/master@{#28050}
jkummerow [Fri, 24 Apr 2015 14:10:09 +0000 (07:10 -0700)]
Revert of Lazily register prototype users (patchset #2 id:20001 of https://codereview.chromium.org/
1104813004/)
Reason for revert:
Suspected of causing GC stress failures.
Original issue's description:
> Lazily register prototype users
>
> when handing out validity cells to handles; because invalidating said cells is the only time we'll need the user registrations.
> Along the way, fix a corner case in WeakFixedArray, which can now be empty after the recently introduced compaction support.
>
> Committed: https://crrev.com/
a4bb7643c076b014816431a9b85af3e2edf828e7
> Cr-Commit-Position: refs/heads/master@{#28047}
TBR=yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1108583002
Cr-Commit-Position: refs/heads/master@{#28049}
marja [Fri, 24 Apr 2015 13:05:17 +0000 (06:05 -0700)]
[strong] Simplify the classes-referring-to-classes check.
Follow up for r28032.
We don't need to store the "corresponding outer scope class variables", it's
enough if we transmit the declaration group start to the inner class
variable.
R=rossberg@chromium.org
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1102903002
Cr-Commit-Position: refs/heads/master@{#28048}
jkummerow [Fri, 24 Apr 2015 12:51:55 +0000 (05:51 -0700)]
Lazily register prototype users
when handing out validity cells to handles; because invalidating said cells is the only time we'll need the user registrations.
Along the way, fix a corner case in WeakFixedArray, which can now be empty after the recently introduced compaction support.
Review URL: https://codereview.chromium.org/
1104813004
Cr-Commit-Position: refs/heads/master@{#28047}
dcarney [Fri, 24 Apr 2015 12:35:14 +0000 (05:35 -0700)]
prepare to deprecate non phantom weak callbacks
BUG=
Review URL: https://codereview.chromium.org/
1089853005
Cr-Commit-Position: refs/heads/master@{#28046}
conradw [Fri, 24 Apr 2015 12:32:56 +0000 (05:32 -0700)]
[strong] Disallow implicit conversions for binary arithmetic operations
Implements the strong mode proposal's restrictions on
implicit conversions for binary arithmetic operations, not
including the + special case. Adds some infrastructure
for future implementation of the restrictions for other
operators.
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1092353002
Cr-Commit-Position: refs/heads/master@{#28045}
marja [Fri, 24 Apr 2015 12:07:38 +0000 (05:07 -0700)]
[strong] Sanity fix / follow up for r28032.
ClassVariable should always have the kind CLASS, let's not pretend there
are other options.
R=rossberg@chromium.org
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1106483003
Cr-Commit-Position: refs/heads/master@{#28044}
mstarzinger [Fri, 24 Apr 2015 11:13:13 +0000 (04:13 -0700)]
[turbofan] Fix frame state for class literal definition.
This introduces a bailout point for class literals right after the
%DefineClass function has been called. Otherwise the FrameState after
class literal evaluation might contain the literal itself.
R=jarin@chromium.org
TEST=mjsunit/regress/regress-crbug-480819
BUG=chromium:480819
LOG=N
Review URL: https://codereview.chromium.org/
1104673004
Cr-Commit-Position: refs/heads/master@{#28043}
vogelheim [Fri, 24 Apr 2015 11:07:50 +0000 (04:07 -0700)]
Lolcode candidate: Both Expression and FunctionLiteral define an accessor is_parenthesized(), which access different flags. FunctionLiteral derives from Expression.
Given
FunctionLiteral* a; a->is_parenthesized()
const FunctionLiteral* b; b->is_parenthesized()
the first accesses FunctionLiteral::IsParenthesized, the second accesses Expression::IsParenthesizedField.
Since these are distinct uses, we could rename them based on their use:
- Expression::is_parenthesized -> is_single_parenthesized
Count # of parenthesis, for parsing & error handling:
no parenthesis -> single parenthesis -> multi parenthesis
- FunctionLiteral::eager_compile_hint()
Hint from parser to compiler about whether the parser suggests this function for eager compilation.
BUG=
Review URL: https://codereview.chromium.org/
1097723005
Cr-Commit-Position: refs/heads/master@{#28042}
bmeurer [Fri, 24 Apr 2015 10:51:48 +0000 (03:51 -0700)]
[turbofan] Ignore dead cached nodes in the JSGraph.
BUG=chromium:480807
LOG=n
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1101273002
Cr-Commit-Position: refs/heads/master@{#28041}
yangguo [Fri, 24 Apr 2015 10:22:00 +0000 (03:22 -0700)]
Migrate error messages, part 5 (array.js and i18n.js).
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1096243003
Cr-Commit-Position: refs/heads/master@{#28040}
wingo [Fri, 24 Apr 2015 06:56:57 +0000 (23:56 -0700)]
Fix -Wsign-compare bugs with GCC 4.9.2
R=svenpanne@chromium.org
LOG=N
BUG=
Review URL: https://codereview.chromium.org/
1105653002
Cr-Commit-Position: refs/heads/master@{#28039}
jochen [Fri, 24 Apr 2015 06:46:38 +0000 (23:46 -0700)]
Revert of Reland "Remove the weak list of views from array buffers" (patchset #2 id:20001 of https://codereview.chromium.org/
1093183004/)
Reason for revert:
still working on perf
Original issue's description:
> Reland "Remove the weak list of views from array buffers"
>
> Original description:
> > Instead, views have to check their array buffer for whether
> > it's neutered or not.
> >
> > BUG=v8:3996
> > R=hpayer@chromium.org,dslomov@chromium.org,verwaest@chromium.org
> > LOG=n
>
> BUG=v8:3996
> R=hpayer@chromium.org,dslomov@chromium.org,verwaest@chromium.org
> LOG=n
>
> Committed: https://crrev.com/
655b04637e9da2749f53c866bca8f5f6abb05a3f
> Cr-Commit-Position: refs/heads/master@{#28029}
TBR=dslomov@chromium.org,hpayer@chromium.org,verwaest@chromium.org,dcarney@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3996
Review URL: https://codereview.chromium.org/
1053203007
Cr-Commit-Position: refs/heads/master@{#28038}
marja [Fri, 24 Apr 2015 05:55:39 +0000 (22:55 -0700)]
Revert of Eagerly declare eval scopes, even for sloppy scopes (patchset #2 id:20001 of https://codereview.chromium.org/
1085263003/)
Reason for revert:
Regresses CodeLoad (crbug.com/480774).
Original issue's description:
> Eagerly declare eval scopes, even for sloppy scopes
>
> R=marja@chromium.org, mstarzinger@chromium.org
> LOG=N
> BUG=N
>
> Committed: https://crrev.com/
fe9efc121c8cba8b6aee1a9cf36c68ee97c44d99
> Cr-Commit-Position: refs/heads/master@{#28027}
TBR=mstarzinger@chromium.org,verwaest@chromium.org,wingo@igalia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=N
Review URL: https://codereview.chromium.org/
1082013003
Cr-Commit-Position: refs/heads/master@{#28037}
v8-autoroll [Fri, 24 Apr 2015 03:44:09 +0000 (20:44 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
ed8476f8e39660d1926dddff78cc8446527f9b9c
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1079163012
Cr-Commit-Position: refs/heads/master@{#28036}
arv [Thu, 23 Apr 2015 22:06:45 +0000 (15:06 -0700)]
Revert of [es6] Map/Set size getter should have "get size" name (patchset #4 id:80001 of https://codereview.chromium.org/
1094323005/)
Reason for revert:
Breaks GCMole ia32
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gcmole/builds/1685/steps/GCMole%20ia32/logs/stdio
src/runtime/runtime-function.cc:96:3: warning: Possible problem with evaluation order.
f->shared()->set_name(*NameToFunctionName(name));
^
src/runtime/runtime-function.cc:96:3: warning: Possible problem with evaluation order.
2 warnings generated.
Original issue's description:
> [es6] Map/Set size getter should have "get size" name
>
> Getter and setter function names in ES6 are defined as "get foo" and
> "set foo".
>
> BUG=None
> LOG=N
> R=adamk@chromium.org
>
> Committed: https://crrev.com/
83c89a2e71a363afb35595f903423e650d788e42
> Cr-Commit-Position: refs/heads/master@{#28034}
TBR=adamk@chromium.org,caitpotter88@gmail.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=None
Review URL: https://codereview.chromium.org/
1106713002
Cr-Commit-Position: refs/heads/master@{#28035}
arv [Thu, 23 Apr 2015 21:56:33 +0000 (14:56 -0700)]
[es6] Map/Set size getter should have "get size" name
Getter and setter function names in ES6 are defined as "get foo" and
"set foo".
BUG=None
LOG=N
R=adamk@chromium.org
Review URL: https://codereview.chromium.org/
1094323005
Cr-Commit-Position: refs/heads/master@{#28034}
mvstanton [Thu, 23 Apr 2015 16:09:09 +0000 (09:09 -0700)]
Empty Array prototype elements protection needs to alert on length change.
If the length of the array prototype is changed, be sure to turn off the
guarantee that it's elements are empty.
This case was missed in https://codereview.chromium.org/
1092043002
("Protect the emptiness of Array prototype elements with a PropertyCell")
R=jkummerow@chromium.org
BUG=479781
LOG=N
Review URL: https://codereview.chromium.org/
1099453007
Cr-Commit-Position: refs/heads/master@{#28033}
marja [Thu, 23 Apr 2015 14:05:03 +0000 (07:05 -0700)]
[strong] Stricter check for referring to other classes inside methods.
Add the restriction that both classes must be declared inside the same
consectutive class declaration batch.
Dependency analysis not implemented yet.
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1060913005
Cr-Commit-Position: refs/heads/master@{#28032}
wingo [Thu, 23 Apr 2015 13:20:11 +0000 (06:20 -0700)]
Function scopes only must have a context if they call sloppy eval
A strict arrow function with no parameters and no variable bindings
won't need a context object because it will never have any
locals. (This is unlike strict normal functions, which do have
"arguments" and "this" locals.)
R=rossberg@chromium.org
BUG=v8:4056
LOG=N
Review URL: https://codereview.chromium.org/
1093183003
Cr-Commit-Position: refs/heads/master@{#28031}
dcarney [Thu, 23 Apr 2015 13:05:51 +0000 (06:05 -0700)]
[turbofan] make LifetimePostion comparable
BUG=
Review URL: https://codereview.chromium.org/
1087133004
Cr-Commit-Position: refs/heads/master@{#28030}
jochen [Thu, 23 Apr 2015 13:02:53 +0000 (06:02 -0700)]
Reland "Remove the weak list of views from array buffers"
Original description:
> Instead, views have to check their array buffer for whether
> it's neutered or not.
>
> BUG=v8:3996
> R=hpayer@chromium.org,dslomov@chromium.org,verwaest@chromium.org
> LOG=n
BUG=v8:3996
R=hpayer@chromium.org,dslomov@chromium.org,verwaest@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1093183004
Cr-Commit-Position: refs/heads/master@{#28029}