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