Commit Graph

20255 Commits

Author SHA1 Message Date
adamk
9aab9f13d6 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}
2014-12-10 22:16:33 +00:00
mathiasb
33f0cf5acd 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}
2014-12-10 20:41:10 +00:00
dslomov
059482b70d 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}
2014-12-10 20:39:32 +00:00
dslomov
4bf531c1ea 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}
2014-12-10 20:09:42 +00:00
adamk
4fa7ae1c07 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}
2014-12-10 20:02:59 +00:00
adamk
8877f15664 Create optimized inline versions of Map and Set initialization
Review URL: https://codereview.chromium.org/779173010

Cr-Commit-Position: refs/heads/master@{#25758}
2014-12-10 18:47:36 +00:00
Adam Klein
986e7cefe1 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}
2014-12-10 18:25:55 +00:00
jarin
8a6cbf0a86 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}
2014-12-10 18:25:38 +00:00
ulan
e51e86f459 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}
2014-12-10 16:57:36 +00:00
jarin
4de4f74cf2 Avoid number range holes in bitset types.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25754}
2014-12-10 16:39:10 +00:00
vogelheim
a0a49f523a 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}
2014-12-10 16:36:35 +00:00
vogelheim
65006b85b7 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}
2014-12-10 16:06:14 +00:00
mstarzinger
0f9d98e053 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}
2014-12-10 15:20:01 +00:00
ishell
7d13ca278a 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}
2014-12-10 15:18:52 +00:00
yangguo
25cfc5dc29 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}
2014-12-10 14:55:57 +00:00
yangguo
f65a023fac Consistently use "use strict" where possible.
R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25748}
2014-12-10 14:41:05 +00:00
yangguo
d28b2a194d 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}
2014-12-10 14:20:26 +00:00
balazs.kilvady
30f2578ca2 MIPS: Fix after 'Reland remaining parts of 'Use weak cells in map checks in polymorphic ICs''.
Fix d2e54925ca

In 'MIPS: Change CmpWeakValue to a more MIPS like GetWeakValue.'
a25003cfa6
we switched to use GetWeakValue.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25746}
2014-12-10 13:14:04 +00:00
hpayer
071a28605e 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}
2014-12-10 12:24:33 +00:00
dcarney
70caf05b6a fix gcmole warning after r25737
TBR=jkummerow@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25744}
2014-12-10 12:14:23 +00:00
Benedikt Meurer
f6849d9ed4 [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}
2014-12-10 11:59:44 +00:00
dcarney
59753fb9c1 [turbofan] update register allocator with auto, nullptr and ZoneVector
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25742}
2014-12-10 11:48:33 +00:00
yangguo
7cff32a9bd Reland "Use same blob format for internal and external snapshots."
Review URL: https://codereview.chromium.org/791723004

Cr-Commit-Position: refs/heads/master@{#25741}
2014-12-10 11:46:55 +00:00
titzer
9a823cf612 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}
2014-12-10 11:45:35 +00:00
ulan
d2e54925ca 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}
2014-12-10 10:57:36 +00:00
ulan
3834b78465 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}
2014-12-10 10:28:51 +00:00
dcarney
ea11ffc65b 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}
2014-12-10 10:18:12 +00:00
dcarney
aae665862f [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}
2014-12-10 09:46:01 +00:00
d
4161b54d58 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}
2014-12-10 08:58:15 +00:00
caitpotter88
017eace733 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}
2014-12-10 08:57:08 +00:00
dslomov
008405f0b9 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}
2014-12-10 08:55:53 +00:00
dslomov
6751f0439f 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}
2014-12-10 08:54:48 +00:00
Benedikt Meurer
19418d76df [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}
2014-12-10 07:49:12 +00:00
Ben L. Titzer
a068503b45 Revert "[turbofan] Fix control reducer bug with NTLs."
This reverts commit aeda76c5cf.

Reason: exposed other TurboFan bugs.

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25730}
2014-12-09 16:28:20 +00:00
machenbach
da6dbe78bc 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}
2014-12-09 16:19:57 +00:00
yangguo
d9de2aaa17 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}
2014-12-09 16:09:44 +00:00
yangguo
03ba4becbf 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}
2014-12-09 15:12:27 +00:00
ulan
876a1ddd80 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}
2014-12-09 15:11:11 +00:00
titzer
aeda76c5cf [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}
2014-12-09 15:09:59 +00:00
chunyang.dai
56f8ba13d5 Fix a typo error.
This error is introduced by baafb8f92e.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25724}
2014-12-09 15:08:55 +00:00
jochen
581747c869 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}
2014-12-09 14:20:16 +00:00
Benedikt Meurer
48a6766e78 [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}
2014-12-09 14:16:34 +00:00
jochen
93f3531051 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}
2014-12-09 11:32:36 +00:00
jochen
7216f37ce7 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}
2014-12-09 10:57:23 +00:00
jochen
8a7a81141f 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}
2014-12-09 10:55:47 +00:00
bmeurer
baafb8f92e [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}
2014-12-09 07:35:12 +00:00
mstarzinger
8acf387620 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}
2014-12-09 04:47:59 +00:00
Dmitry Lomov
90a297a8e0 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}
2014-12-08 18:41:39 +00:00
adamk
243764b04b 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}
2014-12-08 18:03:39 +00:00
dslomov
b4f3250712 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}
2014-12-08 15:55:03 +00:00