Commit Graph

20144 Commits

Author SHA1 Message Date
Michael Stanton
c142994f74 Flesh out vector ic state query and set mechanisms.
The IC system now fully integrates the vector concept and can
handle loads and keyed loads vector-based.

BUG=
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25552}
2014-11-27 16:36:40 +00:00
titzer
76178f1ddb [turbofan] Avoid repeatedly revisiting inputs in GraphReducer.
R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25551}
2014-11-27 16:24:19 +00:00
dslomov
34702e9d59 Set @@toStringTag on GeneratorFunction prototype.
R=caitpotter88@gmail.com
BUG=v8:3502
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25550}
2014-11-27 16:09:43 +00:00
caitpotter88
93cd816c07 Make TemplateLiteral hashing algorithm more memory efficient
Previously, a separate string to be hashed (in order to help determine the need to
use a cached Template Call Site) was built up by joining UTF8 spans within a template.

Now, the hash key is generated from the original spans, removing the need to allocate a new
buffer and copy bytes into it.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25549}
2014-11-27 15:48:01 +00:00
mstarzinger
5081f4cc93 Remove deprecated constant helpers from JSGenericLowering.
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25548}
2014-11-27 14:13:57 +00:00
mstarzinger
ffca7c0369 Fix reduction result for branches in generic lowering.
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25547}
2014-11-27 13:44:36 +00:00
hpayer
0b6773fa07 Just account for context disposal garbage collections in context disposal stats counters.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25546}
2014-11-27 13:11:04 +00:00
Hannes Payer
5c3d1cbf75 Re-land: Distinguish beween final incremental mark-compact and full mark-compact event in IdleNotification.
BUG=
R=ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25545}
2014-11-27 12:39:57 +00:00
hpayer
b1527e1d5c Just finalize incremental marking when marking is done in idle notification.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25544}
2014-11-27 12:16:34 +00:00
mstarzinger
9f1bc698ad Start immediate dominator propagation at entry to floating control.
R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25543}
2014-11-27 12:00:34 +00:00
mstarzinger
9724ede898 Switch backedge table in scheduler to use ZoneVector.
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25542}
2014-11-27 11:53:27 +00:00
balazs.kilvady
a03943880c MIPS: harmony-scoping: make assignment to 'const' a late error.
Port 6ac4de87a8

Original commit message:
Per TC39 Nov 2014 decision.

This patch also changes behavior for "legacy const": assignments to sloppy const in strict mode is now also a type error. This fixes v8:2243 and also brings us in compliance with other engines re assignment to function names (see updated webkit test), but might have bigger implications.
That change can easily be reverted by changing Variable::IsSignallingAssignmentToConst.

BUG=v8:3713,v8:2243
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25541}
2014-11-27 11:21:10 +00:00
jochen
217c45b106 Introduce a new growth criterion for the new space behind a flag
With this flag, we grow if more than 10% survived the last scavenge.

BUG=none
R=hpayer@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25540}
2014-11-27 10:52:58 +00:00
hpayer
3adebeaaa8 Just print interesting idle notification events in --trace-idle-notification.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25539}
2014-11-27 10:50:47 +00:00
jochen
28fa2aa443 Add support for downloading clang
Still requires changes to gyp files to select the built-in clang as
compiler and make clang the default on the platforms we want it.

BUG=
R=dcarney@chromium.org,machenbach@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25538}
2014-11-27 10:29:51 +00:00
dcarney
50ef0690b2 Add interceptor support for symbols
a revival of https://codereview.chromium.org/467013003

R=rossberg@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25537}
2014-11-27 10:21:39 +00:00
dslomov
cd4cc1ba36 Ship harmony-strings
R=rossberg@chromium.org, yangguo@chromium.org
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25536}
2014-11-27 10:17:18 +00:00
ishell
916d56d09e Fast-to-slow migration should wipe out in-object space if it exists in the object after migration.
BUG=chromium:436816
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25535}
2014-11-27 10:10:55 +00:00
yangguo
4590e4f4d6 Ensure double alignment when deserializing.
R=rmcilroy@chromium.org
BUG=chromium:436510
LOG=N
TEST=compile with V8_OOL_CONSTANT_POOL=1, run d8 with --verify-heap --test

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

Cr-Commit-Position: refs/heads/master@{#25534}
2014-11-27 09:22:28 +00:00
dcarney
60af073ad8 [turbofan] add initial move optimizer
R=bmeurer@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25533}
2014-11-27 09:21:06 +00:00
Chunyang Dai
f89acb647f X87: harmony-scoping: make assignment to 'const' a late error.
port 6ac4de87a8

original commit message:
  harmony-scoping: make assignment to 'const' a late error.

  Per TC39 Nov 2014 decision. This patch also changes behavior for "legacy const":
  assignments to sloppy const in strict mode is now also a type error. This fixes
  v8:2243 and also brings us in compliance with other engines re assignment to function
  names (see updated webkit test), but might have bigger implications. That change can
  easily be reverted by changing Variable::IsSignallingAssignmentToConst.

BUG=
R=dslomov@chromium.org, weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

Cr-Commit-Position: refs/heads/master@{#25532}
2014-11-27 07:10:51 +00:00
mstarzinger
61c861998e Move linked list for RPO order into BasicBlock itself.
R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25531}
2014-11-26 17:39:18 +00:00
ishell
1a2e4b265a Map::CopyGeneralizeAllRepresentations() left incorrect layout descriptor in a new map.
BUG=chromium:436820
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25530}
2014-11-26 17:37:05 +00:00
caitpotter88
0ea30611f3 Fix raw TemplateLiteral spans with non-ascii characters
BUG=v8:3710

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

Cr-Commit-Position: refs/heads/master@{#25529}
2014-11-26 17:15:54 +00:00
titzer
9da4998204 Abort optimization in corner case.
The %OptimizeFunctionOnNextCall sledgehammer can cause a function to be
marked for optimization before it's ever been compiled by fullcode.
This can lead to the situation where a function doesn't have optimization
disabled until we try to compile it optimized.

Basically, the assert should just handle this case more gracefully.

R=yangguo@chromium.org
BUG=436893
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25528}
2014-11-26 16:57:52 +00:00
jarin
97cab985b8 Do not try to inline if the function has an illegal redeclaration.
R=mvstanton@chromium.org
BUG=chromium:436896
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25527}
2014-11-26 16:32:46 +00:00
machenbach
97336b8044 Push roll candidates based on candidate ref instead of lkgr.
This pushes v8 to the candidates branch based on the
candidate ref, which is guaranteed to be the same for 8
hours.

The candidate ref is maintained by this bot:
http://build.chromium.org/p/client.v8/builders/Auto-roll%20-%20release%20process

NOTRY=true
BUG=chromium:431669
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25526}
2014-11-26 15:23:48 +00:00
mstarzinger
4d71e0f413 Reuse CFGBuilder in the scheduler to save memory.
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25525}
2014-11-26 14:19:41 +00:00
hpayer
c43687657f Make GCTracer not reentrant.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25524}
2014-11-26 14:11:51 +00:00
mstarzinger
2bd931e6e2 Some micro-optimizations in the scheduler.
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25523}
2014-11-26 13:13:46 +00:00
Ben L. Titzer
bbc5a6c023 Fix Windows 32.
TBR=dcarney@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25522}
2014-11-26 13:06:46 +00:00
titzer
da22163d35 [turbofan] Implement jump threading after register allocation.
R=dcarney@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25521}
2014-11-26 12:41:55 +00:00
dslomov
a498e93b0e Stage ES6 block scoping.
R=rossberg@chromium.org
BUG=v8:2198
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25520}
2014-11-26 12:28:43 +00:00
dslomov
626f110f0b Introduce legacy const slots in correct context.
R=rossberg@chromium.org
BUG=chromium:410030
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25519}
2014-11-26 12:16:30 +00:00
dcarney
4695abcafa Don't use ConsStringIterator to compute string hashes
R=yangguo@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25518}
2014-11-26 11:53:34 +00:00
rodolph.perfetta
55614cfe69 [turbofan] Recognize rotate right.
Extended the rotate left detection code.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25517}
2014-11-26 11:49:43 +00:00
dslomov
6ac4de87a8 harmony-scoping: make assignment to 'const' a late error.
Per TC39 Nov 2014 decision.

This patch also changes behavior for "legacy const": assignments to sloppy const in strict mode is now also a type error. This fixes v8:2243 and also brings us in compliance with other engines re assignment to function names (see updated webkit test), but might have bigger implications.
That change can easily be reverted by changing Variable::IsSignallingAssignmentToConst.

BUG=v8:3713,v8:2243
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25516}
2014-11-26 11:21:23 +00:00
Benedikt Meurer
560b0c4534 [arm] Fix recognition of VNEG.
TEST=mjsunit,unittests
R=svenpanne@chromium.org

Committed: 2aed882fe7

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

Cr-Commit-Position: refs/heads/master@{#25515}
2014-11-26 11:18:58 +00:00
machenbach
86f6123ade Revert of [arm] Fix recognition of VNEG. (patchset #3 id:40001 of https://codereview.chromium.org/762493006/)
Reason for revert:
Breaks arm compilation.

Original issue's description:
> [arm] Fix recognition of VNEG.
>
> TEST=mjsunit,unittests
> R=svenpanne@chromium.org
>
> Committed: 2aed882fe7

TBR=svenpanne@chromium.org,bmeurer@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#25514}
2014-11-26 11:07:23 +00:00
Benedikt Meurer
2aed882fe7 [arm] Fix recognition of VNEG.
TEST=mjsunit,unittests
R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25513}
2014-11-26 10:46:37 +00:00
machenbach
e04727e720 Double timeout for slow tests.
TBR=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25512}
2014-11-26 09:35:02 +00:00
machenbach
38a111c4b2 Mark slow tests as slow.
TBR=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25511}
2014-11-26 08:51:48 +00:00
svenpanne
fd13969ef0 Disable ParserSync test for now, it takes waaaaay too long.
Running this in x64.release mode on a powerful HP620 takes 4 seconds,
this is at least 2 orders of magnitude too slow and leads to tons of
false positives on our build bots due to timeouts. As it is, the
cost-benefit ratio is far too low.

The whole approach needs to be changed: Instead of trying to exhaust
some search space in unit tests, this should be turned into a fuzzing
test where only a small but random number of things are tested. The
exhaustive approach can be done separately, but definitely not in the
unit tests.

BUG=v8:3707

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

Cr-Commit-Position: refs/heads/master@{#25510}
2014-11-26 08:16:01 +00:00
Weiliang Lin
83a635e0d7 [x64] Introduce FMA3 instructions on scalar data elements.
R=bmeurer@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

Cr-Commit-Position: refs/heads/master@{#25509}
2014-11-26 05:31:55 +00:00
titzer
819955b278 [turbofan] Use special constant type for RPO block number operands.
R=dcarney@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25508}
2014-11-26 05:16:47 +00:00
jochen
30b43a8aac Document that Isolate::GetCurrent() must not be called before initialization
Also, add a check for debug mode.

BUG=none
R=dcarney@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25507}
2014-11-26 05:15:30 +00:00
Benedikt Meurer
a01f4d871a Revert "Distinguish beween final incremental mark-compact and full mark-compact event in IdleNotification."
This reverts commit d15d453fa5 for
breaking cctest/test-api/Threading3.

TBR=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25506}
2014-11-26 05:12:36 +00:00
jochen
6eed147d45 Move C++ flags for Android to cxxflags section
BUG=v8:3693
R=ulan@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25505}
2014-11-25 15:42:32 +00:00
yangguo
39d0b85430 Force inline Stirng::GetCharVector<>.
R=mvstanton@chromium.org
BUG=chromium:436447

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

Cr-Commit-Position: refs/heads/master@{#25504}
2014-11-25 15:30:03 +00:00
dslomov
f1d8668e38 harmony-scoping: Catch variable should be VAR, not LET
R=rossberg@chromium.org
BUG=v8:2858
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25503}
2014-11-25 14:48:39 +00:00