mostynb [Thu, 11 Dec 2014 15:27:38 +0000 (07:27 -0800)]
move v8_use_external_startup_data to standalone.gypi
This allows the setting to be overridable by embedders,
at the cost of forcing embedders that don't build v8
using standalone.gypi to add this setting to their build
config.
BUG=chromium:421063
LOG=Y
Review URL: https://codereview.chromium.org/
794583002
Cr-Commit-Position: refs/heads/master@{#25781}
jochen [Thu, 11 Dec 2014 15:25:23 +0000 (07:25 -0800)]
When reading the map from a live object, use a barrier load
It could happen that we shrink a live object on the main thread (e.g.
MigrateFastToSlow) while we're sweeping the same page. The main
thread first creates a filler object that the release-stores the new
map. Therefore it's important to barrier load the map word of live
objects from the sweeper thread.
BUG=none
R=ulan@chromium.org,hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
797623002
Cr-Commit-Position: refs/heads/master@{#25780}
v8-autoroll [Thu, 11 Dec 2014 14:47:57 +0000 (06:47 -0800)]
Update V8 DEPS.
Rolling v8/buildtools/clang_format/script to
81edd558fea5dd7855d67a1dc61db34ae8c1fd63
Rolling v8/buildtools to
05dd6a24723170d7c6ff35b537ee02947f619891
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
797613002
Cr-Commit-Position: refs/heads/master@{#25779}
aandrey [Thu, 11 Dec 2014 14:36:21 +0000 (06:36 -0800)]
Add a missing DebugPromiseEvent in promise.js
DevTools expects 2 events on Promise.resolve()/Promise.reject():
creation & settlement. The first one was missing.
R=ulan@chromium.org, yangguo@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
792383003
Cr-Commit-Position: refs/heads/master@{#25778}
dcarney [Thu, 11 Dec 2014 14:08:06 +0000 (06:08 -0800)]
[turbofan] update SpillRange to use ZoneVector
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
793323002
Cr-Commit-Position: refs/heads/master@{#25777}
rossberg [Thu, 11 Dec 2014 13:47:40 +0000 (05:47 -0800)]
Introduce unsigned representation types
To make space in the type bitset, remove Function, RegExp, and Buffer
types for now, since they aren't really relied upon anyway.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
795993002
Cr-Commit-Position: refs/heads/master@{#25776}
baptiste.afsa [Thu, 11 Dec 2014 13:33:28 +0000 (05:33 -0800)]
[turbofan] Avoid some redundant checks of unordered comparison on arm/arm64.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
793303002
Cr-Commit-Position: refs/heads/master@{#25775}
jochen [Thu, 11 Dec 2014 12:58:36 +0000 (04:58 -0800)]
Disable generating of code cache if the debugger is loaded
BUG=440880
R=yangguo@chromium.org,dcarney@chromium.org,vogelheim@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
796823002
Cr-Commit-Position: refs/heads/master@{#25774}
baptiste.afsa [Thu, 11 Dec 2014 12:45:27 +0000 (04:45 -0800)]
[turbofan] Mark arm64 cbz/cbnz tbz/tbnz instructions as branch instructions.
The instruction selector now selects pseudo instructions: CompareAndBranch or
TestAndBranch which are associated with their continuations so that generic
code in the code generator will treat them as branch instruction and will be
able to apply optimization like avoiding branches when the code can falltrhough.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
798553002
Cr-Commit-Position: refs/heads/master@{#25773}
dcarney [Thu, 11 Dec 2014 12:13:08 +0000 (04:13 -0800)]
[turbofan] commit allocated registers early
R=bmeurer@chromium.org
BUG=441107
LOG=N
Review URL: https://codereview.chromium.org/
795043003
Cr-Commit-Position: refs/heads/master@{#25772}
danno [Thu, 11 Dec 2014 11:52:48 +0000 (03:52 -0800)]
[turbofan]: Port lea changes to ia32
Review URL: https://codereview.chromium.org/
747283005
Cr-Commit-Position: refs/heads/master@{#25771}
jochen [Thu, 11 Dec 2014 11:28:25 +0000 (03:28 -0800)]
remove Isolate::debugger_initialized_
It's never used.
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
797543002
Cr-Commit-Position: refs/heads/master@{#25770}
jochen [Thu, 11 Dec 2014 11:24:44 +0000 (03:24 -0800)]
Disable invalid DCHECK_EQ in serializer.cc
BUG=none
R=mvstanton@chromium.org,yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
791363002
Cr-Commit-Position: refs/heads/master@{#25769}
yangguo [Thu, 11 Dec 2014 11:23:26 +0000 (03:23 -0800)]
Implement Math.log2 via ported extract from fdlibm.
Adapted from Raymond Toy's (rtoy@chromium.org) port, extracted from fdlibm's pow implementation.
R=rtoy@chromium.org
BUG=v8:3579
LOG=N
Review URL: https://codereview.chromium.org/
786823003
Cr-Commit-Position: refs/heads/master@{#25768}
kozyatinskiy [Thu, 11 Dec 2014 10:58:48 +0000 (02:58 -0800)]
[V8] Report v8::AfterCompile and v8::CompileError to listener on pause
V8 didn't report compile events on pause before this patch. These events can be important for listener. For example, DevTools allows user to execute some JS code on pause and needs to show correct stack trace in message from it.
BUG=396013
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/
781623004
Cr-Commit-Position: refs/heads/master@{#25767}
machenbach [Thu, 11 Dec 2014 10:13:29 +0000 (02:13 -0800)]
Switch icu repo to icu.git in v8 DEPS.
This ports https://codereview.chromium.org/
769413004 to v8
DEPS.
BUG=chromium:438401
LOG=n
TBR=jshin@chromium.org
Review URL: https://codereview.chromium.org/
796813002
Cr-Commit-Position: refs/heads/master@{#25766}
Benedikt Meurer [Thu, 11 Dec 2014 09:30:55 +0000 (10:30 +0100)]
[turbofan] Fix typing of typed array loads/stores.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
794113002
Cr-Commit-Position: refs/heads/master@{#25765}
vchigrin [Thu, 11 Dec 2014 09:27:29 +0000 (01:27 -0800)]
Fix crash in V8 during serializing objects requiring alignment.
Review URL: https://codereview.chromium.org/
793753002
Cr-Commit-Position: refs/heads/master@{#25764}
adamk [Wed, 10 Dec 2014 22:16:12 +0000 (14:16 -0800)]
Create optimized versions of the Map/Set clear method
This completes the first round of optimizations for Map and Set.
All non-key-dependent methods now have a Hydrogen version, and
for keyed methods, string versions are optimized.
Review URL: https://codereview.chromium.org/
796503002
Cr-Commit-Position: refs/heads/master@{#25763}
mathiasb [Wed, 10 Dec 2014 20:41:00 +0000 (12:41 -0800)]
Implement the `RegExp.prototype.flags` getter
TEST=mjsunit/harmony
BUG=v8:3751
LOG=N
Review URL: https://codereview.chromium.org/
770333005
Cr-Commit-Position: refs/heads/master@{#25762}
dslomov [Wed, 10 Dec 2014 20:39:21 +0000 (12:39 -0800)]
Ship ES6 block scoping.
R=rossberg@chromium.org
BUG=v8:2198
LOG=Y
Review URL: https://codereview.chromium.org/
792543002
Cr-Commit-Position: refs/heads/master@{#25761}
dslomov [Wed, 10 Dec 2014 20:09:32 +0000 (12:09 -0800)]
Update strict mode function declaration tests before block scoping.
R=arv@chromium.org,marja@chromium.org
BUG=v8:2198
LOG=N
Review URL: https://codereview.chromium.org/
788143004
Cr-Commit-Position: refs/heads/master@{#25760}
adamk [Wed, 10 Dec 2014 20:02:48 +0000 (12:02 -0800)]
Optimize Object.seal and Object.preventExtensions
They both now run fast (due to utilizing transitions instead of always
creating new maps) and sealed or non-extensible objects can stay in
fast mode after transitioning.
This almost entirely reuses the code for transitioning objects
frozen by Object.freeze(), with the added benefit of freeing
up a bit on the map (we no longer keep track of frozen-ness,
as that bit wasn't used for anything interesting).
BUG=v8:3662,chromium:115960
LOG=y
Review URL: https://codereview.chromium.org/
776143005
Cr-Commit-Position: refs/heads/master@{#25759}
adamk [Wed, 10 Dec 2014 18:47:24 +0000 (10:47 -0800)]
Create optimized inline versions of Map and Set initialization
Review URL: https://codereview.chromium.org/
779173010
Cr-Commit-Position: refs/heads/master@{#25758}
Adam Klein [Wed, 10 Dec 2014 18:25:41 +0000 (10:25 -0800)]
Ensure class prototype objects have the right Map::constructor field
The null constructor they had previously could be observed as crashes in
the V8 API's Object::CreationContext() method and in Object.observe.
BUG=v8:3750
LOG=n
R=arv@chromium.org, dslomov@chromium.org
Review URL: https://codereview.chromium.org/
787763005
Cr-Commit-Position: refs/heads/master@{#25757}
jarin [Wed, 10 Dec 2014 18:25:14 +0000 (10:25 -0800)]
Revert of Avoid number range holes in bitset types. (patchset #5 id:80001 of https://codereview.chromium.org/
759013003/)
Reason for revert:
For breaking the waterfall (run-json-stringify test).
Original issue's description:
> Avoid number range holes in bitset types.
>
> BUG=
TBR=rossberg@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
794663002
Cr-Commit-Position: refs/heads/master@{#25756}
ulan [Wed, 10 Dec 2014 16:57:21 +0000 (08:57 -0800)]
Skip slow webkit/array-iterate-backwards in arm64.debug/gc-stress mode.
BUG=
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
795633002
Cr-Commit-Position: refs/heads/master@{#25755}
jarin [Wed, 10 Dec 2014 16:39:02 +0000 (08:39 -0800)]
Avoid number range holes in bitset types.
BUG=
Review URL: https://codereview.chromium.org/
759013003
Cr-Commit-Position: refs/heads/master@{#25754}
vogelheim [Wed, 10 Dec 2014 16:36:29 +0000 (08:36 -0800)]
Make d8 default to standard location for external snapshots.
This makes tests runnable with the external snapshot, and should be the
last step before enabling external snapshot on >=1 bots.
R=yangguo
BUG=
Review URL: https://codereview.chromium.org/
780333004
Cr-Commit-Position: refs/heads/master@{#25753}
vogelheim [Wed, 10 Dec 2014 16:06:00 +0000 (08:06 -0800)]
Fix mirror-script and debug-script tests when using external natives.
R=yangguo
BUG=
Review URL: https://codereview.chromium.org/
792733003
Cr-Commit-Position: refs/heads/master@{#25752}
mstarzinger [Wed, 10 Dec 2014 15:19:53 +0000 (07:19 -0800)]
Make loop assignment analysis a separate phase.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
770373003
Cr-Commit-Position: refs/heads/master@{#25751}
ishell [Wed, 10 Dec 2014 15:18:44 +0000 (07:18 -0800)]
Reland of "TransitionArray now uses <is_data_property, name, attributes> tuple as a key, which allows to have several entries for the same property name."
Review URL: https://codereview.chromium.org/
793453004
Cr-Commit-Position: refs/heads/master@{#25750}
yangguo [Wed, 10 Dec 2014 14:55:51 +0000 (06:55 -0800)]
Disallow object/function templates when creating snapshots.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
791033002
Cr-Commit-Position: refs/heads/master@{#25749}
yangguo [Wed, 10 Dec 2014 14:40:54 +0000 (06:40 -0800)]
Consistently use "use strict" where possible.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
789163002
Cr-Commit-Position: refs/heads/master@{#25748}
yangguo [Wed, 10 Dec 2014 14:20:12 +0000 (06:20 -0800)]
Extract non-IO part of mksnapshot into an API method.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
789213002
Cr-Commit-Position: refs/heads/master@{#25747}
balazs.kilvady [Wed, 10 Dec 2014 13:13:53 +0000 (05:13 -0800)]
MIPS: Fix after 'Reland remaining parts of 'Use weak cells in map checks in polymorphic ICs''.
Fix
d2e54925caa8b14988a46a912a8b061bf4c6cbf3
In 'MIPS: Change CmpWeakValue to a more MIPS like GetWeakValue.'
a25003cfa6eac88635c12b51ec6ad74fed0d91a1
we switched to use GetWeakValue.
BUG=
Review URL: https://codereview.chromium.org/
782273004
Cr-Commit-Position: refs/heads/master@{#25746}
hpayer [Wed, 10 Dec 2014 12:24:28 +0000 (04:24 -0800)]
Use nobarrier load in store buffer duplicate removal to annotate harmless race.
BUG=
Review URL: https://codereview.chromium.org/
787383002
Cr-Commit-Position: refs/heads/master@{#25745}
dcarney [Wed, 10 Dec 2014 12:14:12 +0000 (04:14 -0800)]
fix gcmole warning after r25737
TBR=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
794563002
Cr-Commit-Position: refs/heads/master@{#25744}
Benedikt Meurer [Wed, 10 Dec 2014 11:59:29 +0000 (12:59 +0100)]
[turbofan] Fix cycles introduced by pushing ToNumbers into phis.
TEST=cctest
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
790123002
Cr-Commit-Position: refs/heads/master@{#25743}
dcarney [Wed, 10 Dec 2014 11:48:28 +0000 (03:48 -0800)]
[turbofan] update register allocator with auto, nullptr and ZoneVector
BUG=
Review URL: https://codereview.chromium.org/
789083005
Cr-Commit-Position: refs/heads/master@{#25742}
yangguo [Wed, 10 Dec 2014 11:46:27 +0000 (03:46 -0800)]
Reland "Use same blob format for internal and external snapshots."
Review URL: https://codereview.chromium.org/
791723004
Cr-Commit-Position: refs/heads/master@{#25741}
titzer [Wed, 10 Dec 2014 11:45:20 +0000 (03:45 -0800)]
Reland "[turbofan] Fix control reducer bug with NTLs."
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
789083004
Cr-Commit-Position: refs/heads/master@{#25740}
ulan [Wed, 10 Dec 2014 10:57:30 +0000 (02:57 -0800)]
Reland remaining parts of 'Use weak cells in map checks in polymorphic ICs'
BUG=v8:3663
LOG=N
Review URL: https://codereview.chromium.org/
792543003
Cr-Commit-Position: refs/heads/master@{#25739}
ulan [Wed, 10 Dec 2014 10:28:41 +0000 (02:28 -0800)]
Reland 'Do not embed constant functions in StoreTransition stub.'
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/
787153002
Cr-Commit-Position: refs/heads/master@{#25738}
dcarney [Wed, 10 Dec 2014 10:18:00 +0000 (02:18 -0800)]
ExecutableAccessorInfo::clear_setter should set a null foreign pointer
R=jkummerow@chromium.org
BUG=433458
LOG=N
Review URL: https://codereview.chromium.org/
759683004
Cr-Commit-Position: refs/heads/master@{#25737}
dcarney [Wed, 10 Dec 2014 09:45:49 +0000 (01:45 -0800)]
[turbofan] delay inserting spill slots for parent ranges.
R=jarin@chromium.org,
BUG=
Review URL: https://codereview.chromium.org/
785993002
Cr-Commit-Position: refs/heads/master@{#25736}
d [Wed, 10 Dec 2014 08:58:04 +0000 (00:58 -0800)]
Add Array.prototype.includes
Requires adding a SameValueZero implementation.
LOG=Y
BUG=v8:3575
R=dslomov@chromium.org, arv@chromium.org
TEST=added to test262
Review URL: https://codereview.chromium.org/
771863002
Cr-Commit-Position: refs/heads/master@{#25735}
caitpotter88 [Wed, 10 Dec 2014 08:56:56 +0000 (00:56 -0800)]
Rename shadowing `pos` variable in ParseTemplateLiteral()
LOG=N
R=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
785233005
Cr-Commit-Position: refs/heads/master@{#25734}
dslomov [Wed, 10 Dec 2014 08:55:45 +0000 (00:55 -0800)]
Pass --noharmony-scoping to tests validating that we throw on 'const' in strict mode.
R=marja@chromium.org
BUG=v8:2198
LOG=N
Review URL: https://codereview.chromium.org/
784323002
Cr-Commit-Position: refs/heads/master@{#25733}
dslomov [Wed, 10 Dec 2014 08:54:36 +0000 (00:54 -0800)]
Fix messages tests.
Change tests so that message location is stable under --debug-code.
R=yangguo@chromium.org
BUG=v8:3744
LOG=N
Review URL: https://codereview.chromium.org/
792563003
Cr-Commit-Position: refs/heads/master@{#25732}
Benedikt Meurer [Wed, 10 Dec 2014 07:48:57 +0000 (08:48 +0100)]
[x64] Fix optimization for certain checked load/stores.
BUG=chromium:439743
LOG=y
TEST=mjsunit
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
733893008
Cr-Commit-Position: refs/heads/master@{#25731}
Ben L. Titzer [Tue, 9 Dec 2014 16:28:07 +0000 (17:28 +0100)]
Revert "[turbofan] Fix control reducer bug with NTLs."
This reverts commit
aeda76c5cfa9181fff5ed7140e726f96ec883cc3.
Reason: exposed other TurboFan bugs.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
785233003
Cr-Commit-Position: refs/heads/master@{#25730}
machenbach [Tue, 9 Dec 2014 16:19:40 +0000 (08:19 -0800)]
Revert of Use same blob format for internal and external snapshots. (patchset #2 id:20001 of https://codereview.chromium.org/
787033002/)
Reason for revert:
[sheriff] breaks http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/1293
Original issue's description:
> Use same blob format for internal and external snapshots.
>
> R=vogelheim@chromium.org
TBR=vogelheim@chromium.org,yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
792563002
Cr-Commit-Position: refs/heads/master@{#25729}
yangguo [Tue, 9 Dec 2014 16:09:39 +0000 (08:09 -0800)]
Revert of Do not embed constant functions in StoreTransition stub. (patchset #3 id:40001 of https://codereview.chromium.org/
769733003/)
Reason for revert:
GC stress failure: http://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress%20-%201/builds/1038
Original issue's description:
> Do not embed constant functions in StoreTransition stub.
>
> BUG=v8:3629
> LOG=N
TBR=ishell@google.com,ishell@chromium.org,ulan@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3629
Review URL: https://codereview.chromium.org/
785253002
Cr-Commit-Position: refs/heads/master@{#25728}
yangguo [Tue, 9 Dec 2014 15:12:13 +0000 (07:12 -0800)]
Use same blob format for internal and external snapshots.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
787033002
Cr-Commit-Position: refs/heads/master@{#25727}
ulan [Tue, 9 Dec 2014 15:11:04 +0000 (07:11 -0800)]
Do not embed constant functions in StoreTransition stub.
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/
769733003
Cr-Commit-Position: refs/heads/master@{#25726}
titzer [Tue, 9 Dec 2014 15:09:52 +0000 (07:09 -0800)]
[turbofan] Fix control reducer bug with NTLs.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
789773002
Cr-Commit-Position: refs/heads/master@{#25725}
chunyang.dai [Tue, 9 Dec 2014 15:08:45 +0000 (07:08 -0800)]
Fix a typo error.
This error is introduced by
baafb8f92e29bf6da68e56251863707b683c67af.
BUG=
Review URL: https://codereview.chromium.org/
791543003
Cr-Commit-Position: refs/heads/master@{#25724}
jochen [Tue, 9 Dec 2014 14:20:01 +0000 (06:20 -0800)]
Make it possible to turn on OBJECT_PRINT without DEBUG
BUG=none
R=machenbach@chromium.org
LOG=n
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
771323006
Cr-Commit-Position: refs/heads/master@{#25723}
Benedikt Meurer [Tue, 9 Dec 2014 14:16:16 +0000 (15:16 +0100)]
[x86] Disable invalid checked load/store optimization.
TEST=mjsunit/compiler/regress-lena
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
784153006
Cr-Commit-Position: refs/heads/master@{#25722}
jochen [Tue, 9 Dec 2014 11:32:29 +0000 (03:32 -0800)]
Really enable DEBUG code on android unless full debug is specified
R=machenbach@chromium.rg
LOG=n
BUG=none
NOTRY=true
Review URL: https://codereview.chromium.org/
786203003
Cr-Commit-Position: refs/heads/master@{#25721}
jochen [Tue, 9 Dec 2014 10:57:16 +0000 (02:57 -0800)]
Also ignore NDEBUG for chromium code
BUG=none
R=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
792513002
Cr-Commit-Position: refs/heads/master@{#25720}
jochen [Tue, 9 Dec 2014 10:55:39 +0000 (02:55 -0800)]
Temporarily restore make dependencies
We will remove dependencies in about a week again.
BUG=none
R=machenbach@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
733203008
Cr-Commit-Position: refs/heads/master@{#25719}
bmeurer [Tue, 9 Dec 2014 07:35:05 +0000 (23:35 -0800)]
[turbofan] Turn JSToBoolean and JSUnaryNot into pure operators.
Also fix the pushing of JSToBoolean into Phis and generalize it to
also include pushing into Selects.
TEST=cctest,unittests
Review URL: https://codereview.chromium.org/
792463003
Cr-Commit-Position: refs/heads/master@{#25718}
mstarzinger [Tue, 9 Dec 2014 04:47:49 +0000 (20:47 -0800)]
Make --no-turbo-types work on all paths through the pipeline.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
785933002
Cr-Commit-Position: refs/heads/master@{#25717}
Dmitry Lomov [Mon, 8 Dec 2014 18:41:04 +0000 (19:41 +0100)]
Ignore tests that fail on nosnap apparently for infa reasons.
TBR=arv@chromium.org
BUG=v8:3744
LOG=N
NOTRY=true
Review URL: https://codereview.chromium.org/
746743003
Cr-Commit-Position: refs/heads/master@{#25716}
adamk [Mon, 8 Dec 2014 18:03:28 +0000 (10:03 -0800)]
Optimize add/set/delete operations for string keys in Maps and Sets
This was previously landed in commit 8599f5f, but failed the
collections mjsunit test on ia32 with --deopt-every-n=1. The fixed
patch adds a ClearFlag(HValue::kCanOverflow) call after every
arithmetic operation, which should remove all the deopt points in these
intrinsics.
Ideally, it seems like there should be a way to verify that there are
no deopt points for these inline optimized functions, since there's
nothing to deopt to. But I don't currently know of such a thing.
Review URL: https://codereview.chromium.org/
782073002
Cr-Commit-Position: refs/heads/master@{#25715}
dslomov [Mon, 8 Dec 2014 15:54:55 +0000 (07:54 -0800)]
Better message location for 'super(...)' restriction error.
R=arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/
776563002
Cr-Commit-Position: refs/heads/master@{#25714}
chunyang.dai [Mon, 8 Dec 2014 15:14:48 +0000 (07:14 -0800)]
update test case for "Disable neutering on embedded arraybuffers"
This test case ( added by git:
4c7effe56e8dbe8e2df51bab967c8e1d251f3a66 ).
should has different implementation for Turbofan and crankshaft.
BUG=
Review URL: https://codereview.chromium.org/
774163005
Cr-Commit-Position: refs/heads/master@{#25713}
dslomov [Mon, 8 Dec 2014 14:59:10 +0000 (06:59 -0800)]
Do not reflect uninitialized 'let' and 'const' in scope mirrors.
R=yangguo@chromium.org,aandrey@chromium.org
BUG=v8:3743
LOG=N
Review URL: https://codereview.chromium.org/
758603004
Cr-Commit-Position: refs/heads/master@{#25712}
Jochen Eisinger [Mon, 8 Dec 2014 13:04:02 +0000 (14:04 +0100)]
Fix ARM64 build
The android toolchain for L now has a proper version (21)
BUG=none
TBR=rossberg@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
777273004
Cr-Commit-Position: refs/heads/master@{#25711}
jochen [Mon, 8 Dec 2014 12:27:21 +0000 (04:27 -0800)]
Update all DEPS to match chromium's DEPS at edb488e
Also remove the now disfunctinal 'builddeps' and 'dependencies' targets
BUG=none
R=machenbach@chromium.org,jkummerow@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
788613002
Cr-Commit-Position: refs/heads/master@{#25710}
mstarzinger [Mon, 8 Dec 2014 12:26:14 +0000 (04:26 -0800)]
Silence --trace-turbo a bit and behave graceful in sandbox.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
786763002
Cr-Commit-Position: refs/heads/master@{#25709}
marja [Mon, 8 Dec 2014 11:47:44 +0000 (03:47 -0800)]
Handle invalid parser cache gracefully (move invalid cache handling to embedder).
Blink already has code for handling invalid cached data. The attached test
ensures that cached data is gracefully rejected if it cannot be used.
This also unifies parser cache and code cache handling.
R=yangguo@chromium.org
BUG=439889
LOG=N
Review URL: https://codereview.chromium.org/
781203003
Cr-Commit-Position: refs/heads/master@{#25708}
Benedikt Meurer [Mon, 8 Dec 2014 11:25:35 +0000 (12:25 +0100)]
[turbofan] Remove obsolete pure flag.
Use the Operator::kPure flag instead, which determines whether the JS
operator has effect/control edges.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
720233006
Cr-Commit-Position: refs/heads/master@{#25707}
ulan [Mon, 8 Dec 2014 11:05:48 +0000 (03:05 -0800)]
Temporarily skip test-mark-compact/MarkCompactCollector.
BUG=v8:3742
LOG=N
Review URL: https://codereview.chromium.org/
764783003
Cr-Commit-Position: refs/heads/master@{#25706}
ulan [Mon, 8 Dec 2014 10:46:12 +0000 (02:46 -0800)]
Fix typo in r25689 (Refactor Map::ConstructionCount.)
BUG=chromium:439868
LOG=N
Review URL: https://codereview.chromium.org/
779293003
Cr-Commit-Position: refs/heads/master@{#25705}
dcarney [Mon, 8 Dec 2014 10:45:03 +0000 (02:45 -0800)]
[turbofan] reuse spill slots for phis
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
777403003
Cr-Commit-Position: refs/heads/master@{#25704}
yangguo [Mon, 8 Dec 2014 10:23:03 +0000 (02:23 -0800)]
Clear cached line ends array when serializing script object.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
790433002
Cr-Commit-Position: refs/heads/master@{#25703}
Jochen Eisinger [Mon, 8 Dec 2014 09:52:44 +0000 (10:52 +0100)]
Fix compilation with verify heap on in release mode
BUG=none
TBR=rossberg@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
788603002
Cr-Commit-Position: refs/heads/master@{#25702}
jochen [Mon, 8 Dec 2014 09:26:04 +0000 (01:26 -0800)]
Turn on DCHECKs and other debugging code if dcheck_always_on is 1
When compiling with the macro DCHECK_ALWAYS_ON defined, DCHECKs and
supporting code gets compiled and enabled.
This increases test coverage for chromium release buildbots
BUG=v8:3731
R=jkummerow@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
760213005
Cr-Commit-Position: refs/heads/master@{#25701}
machenbach [Mon, 8 Dec 2014 09:10:38 +0000 (01:10 -0800)]
Correct clean up in android perf runner.
BUG=chromium:374740
LOG=n
TEST=python -m unittest run_perf_test
NOTRY=true
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/
776223003
Cr-Commit-Position: refs/heads/master@{#25700}
Benedikt Meurer [Mon, 8 Dec 2014 08:53:07 +0000 (09:53 +0100)]
Make cpplint happy.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
783913003
Cr-Commit-Position: refs/heads/master@{#25699}
Benedikt Meurer [Mon, 8 Dec 2014 08:28:10 +0000 (09:28 +0100)]
[turbofan] Improve typing of JSToNumber.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
786703002
Cr-Commit-Position: refs/heads/master@{#25698}
adamk [Mon, 8 Dec 2014 05:46:34 +0000 (21:46 -0800)]
Add myself to OWNERS
Review URL: https://codereview.chromium.org/
780323002
Cr-Commit-Position: refs/heads/master@{#25697}
adamk [Fri, 5 Dec 2014 22:25:00 +0000 (14:25 -0800)]
Revert of Optimize add/set/delete operations for string keys in Maps and Sets (patchset #1 id:1 of https://codereview.chromium.org/
777663003/)
Reason for revert:
Deopt fuzzer reports that something's still broken, reverting until
I can create a minimal repro.
Original issue's description:
> Optimize add/set/delete operations for string keys in Maps and Sets
>
> This was previously landed in commit 66e2f60, but failed the
> collections mjsunit test with --deopt-every-n=1 due to a typo
> in the shrinking code. This patch corrects and simplifies the
> shrinking logic, and the tests now pass.
>
> R=dslomov@chromium.org
>
> Committed: https://chromium.googlesource.com/v8/v8/+/
8599f5f047b4400f7f61de9e449b2246c9aad471
TBR=dslomov@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
742353006
Cr-Commit-Position: refs/heads/master@{#25696}
Adam Klein [Fri, 5 Dec 2014 21:03:50 +0000 (13:03 -0800)]
Optimize add/set/delete operations for string keys in Maps and Sets
This was previously landed in commit 66e2f60, but failed the
collections mjsunit test with --deopt-every-n=1 due to a typo
in the shrinking code. This patch corrects and simplifies the
shrinking logic, and the tests now pass.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
777663003
Cr-Commit-Position: refs/heads/master@{#25695}
arv [Fri, 5 Dec 2014 20:36:39 +0000 (12:36 -0800)]
Optimize GetPrototype
This introduces Hydrogen for %_GetPrototype. The code falls back on
runtime if the object needs access checks or if its prototype is a
hidden prototype.
BUG=None
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
756423006
Cr-Commit-Position: refs/heads/master@{#25694}
paul.lind [Fri, 5 Dec 2014 19:30:47 +0000 (11:30 -0800)]
MIPS64: Fix port of Refactor Map::ConstructionCount.
Port
35ff259b6344eed116936372f6861181c6afe922.
BUG=
Review URL: https://codereview.chromium.org/
756383005
Cr-Commit-Position: refs/heads/master@{#25693}
balazs.kilvady [Fri, 5 Dec 2014 17:49:29 +0000 (09:49 -0800)]
MIPS: Refactor Map::ConstructionCount.
Port
35ff259b6344eed116936372f6861181c6afe922
Original commit message:
This combines Map::DoneInobjectSlackTracking and Map::ConstructionCount into one more generic 4-bit counter.
Counter values from 15 down to 8 are used for in-object slack tracking, values from 7 down to 0 are free to be used for a new counter when in-object slack tracking is inactive
BUG=
Review URL: https://codereview.chromium.org/
780303003
Cr-Commit-Position: refs/heads/master@{#25692}
baixo [Fri, 5 Dec 2014 17:22:40 +0000 (09:22 -0800)]
GN: Enable embedder to decide whether or not the external V8 snapshot is enabled.
BUG=421063
Review URL: https://codereview.chromium.org/
749213004
Cr-Commit-Position: refs/heads/master@{#25691}
dslomov [Fri, 5 Dec 2014 15:35:32 +0000 (07:35 -0800)]
Make sure that individual shipping features can be disabled.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
779203005
Cr-Commit-Position: refs/heads/master@{#25690}
ulan [Fri, 5 Dec 2014 15:28:09 +0000 (07:28 -0800)]
Refactor Map::ConstructionCount.
This combines Map::DoneInobjectSlackTracking and Map::ConstructionCount into one more generic 4-bit counter.
Counter values from 15 down to 8 are used for in-object slack tracking, values from 7 down to 0 are free to be used for a new counter when in-object slack tracking is inactive.
Review URL: https://codereview.chromium.org/
767253002
Cr-Commit-Position: refs/heads/master@{#25689}
dcarney [Fri, 5 Dec 2014 15:21:21 +0000 (07:21 -0800)]
new api for adding indexed interceptors
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
765883003
Cr-Commit-Position: refs/heads/master@{#25688}
ulan [Fri, 5 Dec 2014 13:26:55 +0000 (05:26 -0800)]
Fix %GetWeakSetValues to work correctly with GC.
This fixes mjsunit/es6/mirror-collections failure in arm64 gc-stress bot.
BUG=
Review URL: https://codereview.chromium.org/
783673002
Cr-Commit-Position: refs/heads/master@{#25687}
verwaest [Fri, 5 Dec 2014 13:24:58 +0000 (05:24 -0800)]
Allow eval in detached contexts
BUG=
Review URL: https://codereview.chromium.org/
781953002
Cr-Commit-Position: refs/heads/master@{#25686}
dcarney [Fri, 5 Dec 2014 13:07:51 +0000 (05:07 -0800)]
[turbofan] disable neutering on embedded arraybuffers
R=titzer@chromium.org,
BUG=
Review URL: https://codereview.chromium.org/
781933002
Cr-Commit-Position: refs/heads/master@{#25685}
dslomov [Fri, 5 Dec 2014 13:06:45 +0000 (05:06 -0800)]
Fix the order of context binding/simulate insertion for BlockContexts.
R=jarin@chromium.org
BUG=v8:3741
LOG=N
Review URL: https://codereview.chromium.org/
762393008
Cr-Commit-Position: refs/heads/master@{#25684}
danno [Fri, 5 Dec 2014 13:05:38 +0000 (05:05 -0800)]
[turbofan] Fix Corrections tankage on x64.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
771073003
Cr-Commit-Position: refs/heads/master@{#25683}
mstarzinger [Fri, 5 Dec 2014 13:04:29 +0000 (05:04 -0800)]
Switch two ZoneLists to ZoneVector in register allocator.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
778093003
Cr-Commit-Position: refs/heads/master@{#25682}