dcarney [Wed, 26 Nov 2014 11:53:27 +0000 (03:53 -0800)]
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}
rodolph.perfetta [Wed, 26 Nov 2014 11:49:35 +0000 (03:49 -0800)]
[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}
dslomov [Wed, 26 Nov 2014 11:21:09 +0000 (03:21 -0800)]
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}
Benedikt Meurer [Wed, 26 Nov 2014 11:18:46 +0000 (12:18 +0100)]
[arm] Fix recognition of VNEG.
TEST=mjsunit,unittests
R=svenpanne@chromium.org
Committed: https://chromium.googlesource.com/v8/v8/+/
2aed882fe74dbf9210159babe30fedccd900e7cf
Review URL: https://codereview.chromium.org/
762493006
Cr-Commit-Position: refs/heads/master@{#25515}
machenbach [Wed, 26 Nov 2014 11:07:08 +0000 (03:07 -0800)]
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: https://chromium.googlesource.com/v8/v8/+/
2aed882fe74dbf9210159babe30fedccd900e7cf
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}
Benedikt Meurer [Wed, 26 Nov 2014 10:46:22 +0000 (11:46 +0100)]
[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}
machenbach [Wed, 26 Nov 2014 09:34:54 +0000 (01:34 -0800)]
Double timeout for slow tests.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
752733003
Cr-Commit-Position: refs/heads/master@{#25512}
machenbach [Wed, 26 Nov 2014 08:51:35 +0000 (00:51 -0800)]
Mark slow tests as slow.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
755283004
Cr-Commit-Position: refs/heads/master@{#25511}
svenpanne [Wed, 26 Nov 2014 08:15:46 +0000 (00:15 -0800)]
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}
Weiliang Lin [Wed, 26 Nov 2014 05:31:41 +0000 (06:31 +0100)]
[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}
titzer [Wed, 26 Nov 2014 05:16:31 +0000 (21:16 -0800)]
[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}
jochen [Wed, 26 Nov 2014 05:15:17 +0000 (21:15 -0800)]
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}
Benedikt Meurer [Wed, 26 Nov 2014 05:12:25 +0000 (06:12 +0100)]
Revert "Distinguish beween final incremental mark-compact and full mark-compact event in IdleNotification."
This reverts commit
d15d453fa5aaeeb1f7e010a1baf71e7b3306802b for
breaking cctest/test-api/Threading3.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
758163003
Cr-Commit-Position: refs/heads/master@{#25506}
jochen [Tue, 25 Nov 2014 15:42:20 +0000 (07:42 -0800)]
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}
yangguo [Tue, 25 Nov 2014 15:29:50 +0000 (07:29 -0800)]
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}
dslomov [Tue, 25 Nov 2014 14:48:27 +0000 (06:48 -0800)]
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}
svenpanne [Tue, 25 Nov 2014 14:47:18 +0000 (06:47 -0800)]
Fixed race condition in HBranch::observed_input_representation.
Non-numeric static local variables are not thread-safe, and the case
at hand was a premature optimization anyway: The generated code for
the check in question is exactly the same when unfolded.
BUG=chromium:420483
Review URL: https://codereview.chromium.org/
756903003
Cr-Commit-Position: refs/heads/master@{#25502}
hpayer [Tue, 25 Nov 2014 13:41:47 +0000 (05:41 -0800)]
Distinguish beween final incremental mark-compact and full mark-compact event in IdleNotification.
BUG=
Review URL: https://codereview.chromium.org/
727323004
Cr-Commit-Position: refs/heads/master@{#25501}
yangguo [Tue, 25 Nov 2014 13:21:57 +0000 (05:21 -0800)]
Partially revert "Optimize function across closures."
BUG=chromium:434447
Review URL: https://codereview.chromium.org/
755173002
Cr-Commit-Position: refs/heads/master@{#25500}
yangguo [Tue, 25 Nov 2014 12:46:45 +0000 (04:46 -0800)]
Refactor use of Isolate::use_crankshaft.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
755883003
Cr-Commit-Position: refs/heads/master@{#25499}
yangguo [Tue, 25 Nov 2014 12:03:27 +0000 (04:03 -0800)]
Reset code age on the cloned code when serializing.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
757983002
Cr-Commit-Position: refs/heads/master@{#25498}
balazs.kilvady [Tue, 25 Nov 2014 11:37:55 +0000 (03:37 -0800)]
MIPS64: Load prototype from map in PropertyHandlerCompiler::CheckPrototypes.
Port
100db75808486b9a85b5ba6384f27b3274438684
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/
755693002
Cr-Commit-Position: refs/heads/master@{#25497}
jarin [Tue, 25 Nov 2014 08:40:18 +0000 (00:40 -0800)]
[turbofan] Insert appropriate conversions for typed array stores.
BUG=
Review URL: https://codereview.chromium.org/
758643003
Cr-Commit-Position: refs/heads/master@{#25496}
Benedikt Meurer [Tue, 25 Nov 2014 07:21:43 +0000 (08:21 +0100)]
Fix platform unittests.
Follow-up to
87db4ff1f4d76eecb8f19d62f4c04279d56bf229, which added
suppressions to unittests.status and a special case for Android to the
ThreadLocalStorageTest, both of which are unneccessary and should be
handled differently for the GTest based unittests.
BUG=v8:3706
LOG=n
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
757913002
Cr-Commit-Position: refs/heads/master@{#25495}
hpayer [Mon, 24 Nov 2014 19:19:04 +0000 (11:19 -0800)]
Reduce context disposal gc overhead.
BUG=
Review URL: https://codereview.chromium.org/
750963002
Cr-Commit-Position: refs/heads/master@{#25494}
verwaest [Mon, 24 Nov 2014 19:16:16 +0000 (11:16 -0800)]
Don't double smi-tag the mask used to check read-only / field mode in the dictionary-store-stub on X64
BUG=
Review URL: https://codereview.chromium.org/
757673002
Cr-Commit-Position: refs/heads/master@{#25493}
cullinan [Mon, 24 Nov 2014 18:05:56 +0000 (10:05 -0800)]
Fix/suppress unittests broken on Android
cctest/test-threads/ThreadJoinSelf is suppressed for Android, but the
test has since been moved to unittests/Thread.SelfJoin. Move the
suppression to unittests.status.
unittests/ThreadLocalStorageTest.DoTest fails on older Android devices
as it assumes the availability of more TLS slots than many devices
implement. Test a smaller number of slots (32) on Android. Remove old
suppression of test-platform-tls/FastTLS (which no longer exists).
cctest/test-mark-compact/RegressJoinThreadsOnIsolateDeinit can't deal
with shared mappings. Check for 's' instead of '-'.
BUG=v8:3706
LOG=
Review URL: https://codereview.chromium.org/
735863003
Cr-Commit-Position: refs/heads/master@{#25492}
jarin [Mon, 24 Nov 2014 17:45:20 +0000 (09:45 -0800)]
[turbofan] Fix matching of the lea instruction.
Resets the scaled exponent to 0 when the scaling match fails.
BUG=
Review URL: https://codereview.chromium.org/
756643002
Cr-Commit-Position: refs/heads/master@{#25491}
ulan [Mon, 24 Nov 2014 17:44:12 +0000 (09:44 -0800)]
Load prototype from map in PropertyHandlerCompiler::CheckPrototypes.
BUG=v8:3629
LOG=N
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
753223002
Cr-Commit-Position: refs/heads/master@{#25490}
Yang Guo [Mon, 24 Nov 2014 16:29:05 +0000 (17:29 +0100)]
Disable regress-3717 for gc-stress.
TBR=ulan@chromium.org
BUG=v8:3723
LOG=N
Review URL: https://codereview.chromium.org/
749283002
Cr-Commit-Position: refs/heads/master@{#25489}
yangguo [Mon, 24 Nov 2014 16:22:56 +0000 (08:22 -0800)]
Remove lineprocessor sample.
This sample used to demonstrate the usage of the DebuggerAgent. The latter
has been removed, so this sample has no point anymore.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
754043002
Cr-Commit-Position: refs/heads/master@{#25488}
yangguo [Mon, 24 Nov 2014 16:14:26 +0000 (08:14 -0800)]
Remove v8::StartupData::compressed_size.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
739253006
Cr-Commit-Position: refs/heads/master@{#25487}
yangguo [Mon, 24 Nov 2014 15:43:28 +0000 (07:43 -0800)]
Correctly find shared function info for debugging when compiling eagerly.
R=ulan@chromium.org
BUG=v8:3717
LOG=N
Review URL: https://codereview.chromium.org/
758523004
Cr-Commit-Position: refs/heads/master@{#25486}
Michael Stanton [Mon, 24 Nov 2014 14:59:55 +0000 (15:59 +0100)]
Make use of post-scoping information to compute feedback vector requirements.
This avoids allocating vector ic slots that we don't use.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
758543002
Cr-Commit-Position: refs/heads/master@{#25485}
ishell [Mon, 24 Nov 2014 14:55:35 +0000 (06:55 -0800)]
Dictionary-mode PropertyDetails printing fixed.
BUG=chromium:435974
LOG=N
Review URL: https://codereview.chromium.org/
755583003
Cr-Commit-Position: refs/heads/master@{#25484}
ishell [Mon, 24 Nov 2014 14:54:26 +0000 (06:54 -0800)]
Reland of "Enable inobject double fields unboxing for 64-bit archs."
Review URL: https://codereview.chromium.org/
751643005
Cr-Commit-Position: refs/heads/master@{#25483}
ishell [Mon, 24 Nov 2014 14:31:31 +0000 (06:31 -0800)]
Reland of "TransitionArray::Search() now returns insertion index if the entry was not found."
Review URL: https://codereview.chromium.org/
739013004
Cr-Commit-Position: refs/heads/master@{#25482}
baixo [Mon, 24 Nov 2014 12:44:34 +0000 (04:44 -0800)]
Ensure external snapshot is only set once.
BUG=421063
Review URL: https://codereview.chromium.org/
746263002
Cr-Commit-Position: refs/heads/master@{#25481}
baixo [Mon, 24 Nov 2014 12:43:28 +0000 (04:43 -0800)]
The file snapshot_blob_host.bin was supposed to be generated when building the host toolset. However, the file snapshot_blob.bin was being generated instead, under every set of conditions.
Because of this, every time we build the host toolset, snapshot_blob_host.bin is not found. This causes the target (v8_external_snapshot) that generates such file to be run. This target generates snapshot_blob.bin instead of snapshot_blob_host.bin. This in turn causes all the targets that depend on snapshot_blob.bin to run again.
After this, we still don't have snapshot_blob_host.bin. So the next time we build, the whole process described above happens again.
BUG=421063
Review URL: https://codereview.chromium.org/
741223002
Cr-Commit-Position: refs/heads/master@{#25480}
Benedikt Meurer [Mon, 24 Nov 2014 12:30:20 +0000 (13:30 +0100)]
[turbofan] Combine Word32And with Int32Add and negative power of two.
TEST=unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
749233002
Cr-Commit-Position: refs/heads/master@{#25479}
hpayer [Mon, 24 Nov 2014 11:58:26 +0000 (03:58 -0800)]
Don't verify evacuation when it is not completed.
BUG=
Review URL: https://codereview.chromium.org/
756553002
Cr-Commit-Position: refs/heads/master@{#25478}
Ben L. Titzer [Mon, 24 Nov 2014 11:54:59 +0000 (12:54 +0100)]
[turbofan] Dump graph in RPO order as text.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
754803002
Cr-Commit-Position: refs/heads/master@{#25477}
yangguo [Mon, 24 Nov 2014 11:21:45 +0000 (03:21 -0800)]
Fix RegExp.source for uncompiled regexp.
R=jkummerow@chromium.org
BUG=435825
LOG=N
Review URL: https://codereview.chromium.org/
753983002
Cr-Commit-Position: refs/heads/master@{#25476}
baptiste.afsa [Mon, 24 Nov 2014 11:00:10 +0000 (03:00 -0800)]
[turbofan] Recognize sign extension of 8-bit and 16-bit values on arm64.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
730183005
Cr-Commit-Position: refs/heads/master@{#25475}
svenpanne [Mon, 24 Nov 2014 10:42:15 +0000 (02:42 -0800)]
Added test cases for truncating stores.
Review URL: https://codereview.chromium.org/
741643003
Cr-Commit-Position: refs/heads/master@{#25474}
dcarney [Mon, 24 Nov 2014 10:30:39 +0000 (02:30 -0800)]
don't use to-be-deprecated Value::To* without isolate parameter
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
725293003
Cr-Commit-Position: refs/heads/master@{#25473}
andrew_low [Mon, 24 Nov 2014 10:22:09 +0000 (02:22 -0800)]
Fix alignment of Code::kConstantPoolOffset.
This is needed for 64bit alignment sensitive platforms (PowerPC)
Exposed bugs with new GC compare and swap changes updating the
field.
Example failing test:
out/ppc64.debug/cctest test-decls/ExistsInPrototype
BUG=
Review URL: https://codereview.chromium.org/
740443002
Cr-Commit-Position: refs/heads/master@{#25472}
dcarney [Mon, 24 Nov 2014 09:44:47 +0000 (01:44 -0800)]
remove some isolate::currents from api.cc
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
691513005
Cr-Commit-Position: refs/heads/master@{#25471}
ishell [Sat, 22 Nov 2014 20:32:55 +0000 (12:32 -0800)]
Revert of Enable inobject double fields unboxing for 64-bit archs. (patchset #3 id:40001 of https://codereview.chromium.org/
753503002/)
Reason for revert:
GCMole and gc-stress issues.
Original issue's description:
> Enable inobject double fields unboxing for 64-bit archs.
TBR=verwaest@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
751863002
Cr-Commit-Position: refs/heads/master@{#25470}
ishell [Sat, 22 Nov 2014 17:30:15 +0000 (09:30 -0800)]
Enable inobject double fields unboxing for 64-bit archs.
Review URL: https://codereview.chromium.org/
753503002
Cr-Commit-Position: refs/heads/master@{#25469}
dslomov [Fri, 21 Nov 2014 18:09:25 +0000 (10:09 -0800)]
harmony-scoping: Disallow cross-script assignment to const
R=rossberg@chromium.org
BUG=v8:2198
LOG=N
Review URL: https://codereview.chromium.org/
745963002
Cr-Commit-Position: refs/heads/master@{#25468}
mstarzinger [Fri, 21 Nov 2014 17:28:18 +0000 (09:28 -0800)]
Revert "Remove deprecated ShouldSelfOptimize machinery."
This reverts commit
9da92c1a336e because of performance regressions.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
752613002
Cr-Commit-Position: refs/heads/master@{#25467}
danno [Fri, 21 Nov 2014 13:18:40 +0000 (05:18 -0800)]
[turbofan]: remove optimization of adds/subs to inc and dec
They generally cause regressions on most modern Intel chips. Replace them with
addl/subl.
Review URL: https://codereview.chromium.org/
737153003
Cr-Commit-Position: refs/heads/master@{#25466}
dcarney [Fri, 21 Nov 2014 13:13:49 +0000 (05:13 -0800)]
[turbofan] put late ssa deconstruction in register allocator behind a flag
BUG=
Review URL: https://codereview.chromium.org/
751543002
Cr-Commit-Position: refs/heads/master@{#25465}
yangguo [Fri, 21 Nov 2014 12:45:10 +0000 (04:45 -0800)]
Rip out bzip compression for native sources.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
750543002
Cr-Commit-Position: refs/heads/master@{#25464}
yangguo [Fri, 21 Nov 2014 12:40:53 +0000 (04:40 -0800)]
Slightly improve tests that rely on lazy compilation.
R=rossberg@chromium.org
BUG=v8:3712
LOG=N
Review URL: https://codereview.chromium.org/
743843003
Cr-Commit-Position: refs/heads/master@{#25463}
jochen [Fri, 21 Nov 2014 12:14:22 +0000 (04:14 -0800)]
Introduce a flag to change the new space growth factor
A useful value would be 4, so we get 1, 4, 16MB (instead of the default
value 2 which leads to 1, 2, 4, 8, 16)
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
753513002
Cr-Commit-Position: refs/heads/master@{#25462}
dcarney [Fri, 21 Nov 2014 11:32:56 +0000 (03:32 -0800)]
[turbofan] put spill slot reuse behind a flag
BUG=
Review URL: https://codereview.chromium.org/
748773002
Cr-Commit-Position: refs/heads/master@{#25461}
ulan [Fri, 21 Nov 2014 11:24:42 +0000 (03:24 -0800)]
ARM64: skip flaky mozilla/ecma/Date/15.9.5.26-1 until it is fixed.
BUG=v8:3716
LOG=N
Review URL: https://codereview.chromium.org/
746983002
Cr-Commit-Position: refs/heads/master@{#25460}
mstarzinger [Fri, 21 Nov 2014 11:23:34 +0000 (03:23 -0800)]
Remove deprecated ShouldSelfOptimize machinery.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
582683002
Cr-Commit-Position: refs/heads/master@{#25459}
Yang Guo [Fri, 21 Nov 2014 11:23:07 +0000 (12:23 +0100)]
Fix mozilla expectations after regexp change.
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/
749963002
Cr-Commit-Position: refs/heads/master@{#25458}
yangguo [Fri, 21 Nov 2014 10:50:12 +0000 (02:50 -0800)]
Correctly escape RegExp source.
R=ulan@chromium.org
BUG=v8:3229
LOG=N
Review URL: https://codereview.chromium.org/
736003002
Cr-Commit-Position: refs/heads/master@{#25457}
Michael Stanton [Fri, 21 Nov 2014 10:28:55 +0000 (11:28 +0100)]
Assert to protect against polymorphic string loads fires on valid stores.
BUG=435477
LOG=N
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
751513002
Cr-Commit-Position: refs/heads/master@{#25456}
Michael Stanton [Fri, 21 Nov 2014 10:14:08 +0000 (11:14 +0100)]
Fix for 435073: CHECK failure in CHECK(p->IsSmi()) failed.
The bug was an error when copying arrays in crankshaft. If it's a holey smi
array, the copy must be done as FAST_HOLEY_ELEMENTS to prevent representation
changes from being inserted that deopt on encountering the hole.
Also, prevent inlining array pop() and shift() if the length is read-only.
BUG=435073
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
737383002
Cr-Commit-Position: refs/heads/master@{#25455}
Baptiste Afsa [Fri, 21 Nov 2014 10:00:40 +0000 (10:00 +0000)]
[turbofan] Avoid useless zero-extension on arm64.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
737733002
Cr-Commit-Position: refs/heads/master@{#25454}
dcarney [Fri, 21 Nov 2014 09:53:04 +0000 (01:53 -0800)]
dump compiler stats from d8 on direct exit from js
BUG=
Review URL: https://codereview.chromium.org/
753483002
Cr-Commit-Position: refs/heads/master@{#25453}
chunyang.dai [Fri, 21 Nov 2014 09:22:31 +0000 (01:22 -0800)]
Fix the compilation issue for turbofan unsupported backend which
is introduced by https://chromium.googlesource.com/v8/v8/+/
aed26c05a50b2a1257ef8accc67143825f2e1f60.
( [turbofan] Clean up and factor out branch generation logic.)
BUG=
Review URL: https://codereview.chromium.org/
748673002
Cr-Commit-Position: refs/heads/master@{#25452}
Akos Palfi [Fri, 21 Nov 2014 01:15:35 +0000 (02:15 +0100)]
MIPS: [turbofan] Clean up and factor out branch generation logic.
Port
aed26c05a50b2a1257ef8accc67143825f2e1f60
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
742243003
Cr-Commit-Position: refs/heads/master@{#25451}
caitpotter88 [Thu, 20 Nov 2014 22:37:31 +0000 (14:37 -0800)]
Cache template literal callSiteObj
BUG=v8:3230
LOG=y
Review URL: https://codereview.chromium.org/
742643003
Cr-Commit-Position: refs/heads/master@{#25450}
baixo [Thu, 20 Nov 2014 21:04:19 +0000 (13:04 -0800)]
Do not put D8 and TEST natives into the external snapshot.
D8 natives, in particular, will cause Windows static builds to not link due to another definition in the generated file d8-js.cc.
BUG=421063
Review URL: https://codereview.chromium.org/
738153003
Cr-Commit-Position: refs/heads/master@{#25449}
dslomov [Thu, 20 Nov 2014 19:19:34 +0000 (11:19 -0800)]
Rename String.prototype.contains to 'includes'.
Per TC39 Nov 2014 decison.
R=arv@chromium.org,yangguo@chromium.org
LOG=Y
Committed: https://chromium.googlesource.com/v8/v8/+/
b5379216e23ff0ec734e70361dd07057c2421c96
Review URL: https://codereview.chromium.org/
742963002
Cr-Commit-Position: refs/heads/master@{#25448}
ulan [Thu, 20 Nov 2014 17:07:34 +0000 (09:07 -0800)]
Do not bailout from optimizing functions that use f(x, arguments)
if there is not enough type-feedback to detect that f is Function.prototype.apply.
BUG=v8:3709
LOG=N
TEST=mjsunit/regress/regress-3709
Review URL: https://codereview.chromium.org/
736043002
Cr-Commit-Position: refs/heads/master@{#25447}
titzer [Thu, 20 Nov 2014 16:23:11 +0000 (08:23 -0800)]
[turbofan] Clean up and factor out branch generation logic.
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
745633002
Cr-Commit-Position: refs/heads/master@{#25446}
mstarzinger [Thu, 20 Nov 2014 16:21:56 +0000 (08:21 -0800)]
Remove superflous SharedFunctionInfo::uses_super call.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
736383002
Cr-Commit-Position: refs/heads/master@{#25445}
yangguo [Thu, 20 Nov 2014 16:20:48 +0000 (08:20 -0800)]
When optimizing deserialized code, make sure IC state is preserved.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
737373003
Cr-Commit-Position: refs/heads/master@{#25444}
Dan Carney [Thu, 20 Nov 2014 16:11:22 +0000 (17:11 +0100)]
[turbofan] use double temp registers for stack-stack swap on arm64
TBR=vogelheim@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
744743002
Cr-Commit-Position: refs/heads/master@{#25443}
Ulan Degenbaev [Thu, 20 Nov 2014 15:42:32 +0000 (16:42 +0100)]
Fix Regress3540 after r25441.
BUG=
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
746443002
Cr-Commit-Position: refs/heads/master@{#25442}
ulan [Thu, 20 Nov 2014 14:52:23 +0000 (06:52 -0800)]
Reserve code range block for evacuation.
If we run out of code range, then GC wouldn't be able to compact code space,
because it wouldn't be able to allocate a new page. This can cause code space
fragmentation and OOM crashes.
BUG=chromium:430118
LOG=Y
Review URL: https://codereview.chromium.org/
742733002
Cr-Commit-Position: refs/heads/master@{#25441}
dcarney [Thu, 20 Nov 2014 14:40:56 +0000 (06:40 -0800)]
[turbofan] More aggressive reuse of spill slots in the register allocator.
BUG=
Review URL: https://codereview.chromium.org/
725083004
Cr-Commit-Position: refs/heads/master@{#25440}
Daniel Clifford [Thu, 20 Nov 2014 13:48:34 +0000 (14:48 +0100)]
[turbofan]: More optimizations to add and subtract operations on x64
- Use "leal" for subtraction of integer constant when non-constant input to
subtract is used more than once.
- Use "incl", "decl", and "addl" when they are smaller/cheaper than their
leal/addl/subl equivalant.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
738073002
Cr-Commit-Position: refs/heads/master@{#25439}
Rodolph Perfetta [Thu, 20 Nov 2014 13:09:04 +0000 (13:09 +0000)]
[turbofan] remove redundant '& 0x1F' for shifts.
JavaScript shifts perform an implicit '& 0x1F' on their right operand, this
patch removes it when the underlying architecture already does it.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
732103002
Cr-Commit-Position: refs/heads/master@{#25438}
mstarzinger [Thu, 20 Nov 2014 11:51:04 +0000 (03:51 -0800)]
Enable TurboFan for Win64 targets.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
743963002
Cr-Commit-Position: refs/heads/master@{#25437}
Andreas Rossberg [Thu, 20 Nov 2014 11:22:43 +0000 (12:22 +0100)]
Fix lower bound violation
R=jarin@chromium.org
BUG=433332
LOG=N
Review URL: https://codereview.chromium.org/
739563002
Cr-Commit-Position: refs/heads/master@{#25436}
Andreas Rossberg [Thu, 20 Nov 2014 10:51:49 +0000 (11:51 +0100)]
Disable classes in sloppy mode unless --harmony-sloppy is set
Also clean up flag names a little.
Baseline: https://codereview.chromium.org/
713413003/
R=arv@chromium.org, dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
722203006
Cr-Commit-Position: refs/heads/master@{#25435}
balazs.kilvady [Thu, 20 Nov 2014 09:46:55 +0000 (01:46 -0800)]
Conditional flags for tests - set JS stack size for simulators.
There are separated JS and C stacks on simulators so for some stack
extensive tests (like mozilla/js1_5/extensions/regress-355497) might
cause a C stack overflow and that overflow is not caught by V8. It is
not an issue on real HW. Increasing the C stack also solves the problem
but we have already FLAG_sim_stack_size flag to control the JS stack
size.
This patch makes it possible to add flags to tests conditionally in
.status files.
TEST=mozilla/js1_5/extensions/regress-355497
BUG=v8:3152
LOG=N
Review URL: https://codereview.chromium.org/
735723006
Cr-Commit-Position: refs/heads/master@{#25434}
yangguo [Thu, 20 Nov 2014 09:37:18 +0000 (01:37 -0800)]
Implement log10 via fdlibm port.
R=rtoy@chromium.org
BUG=v8:3579
LOG=N
Review URL: https://codereview.chromium.org/
739913003
Cr-Commit-Position: refs/heads/master@{#25433}
machenbach [Thu, 20 Nov 2014 09:03:44 +0000 (01:03 -0800)]
Revert of Rename String.prototype.contains to 'includes'. (patchset #1 id:1 of https://codereview.chromium.org/
742963002/)
Reason for revert:
Breaks test262-es6:
http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/1289
Original issue's description:
> Rename String.prototype.contains to 'includes'.
>
> Per TC39 Nov 2014 decison.
>
> R=arv@chromium.org,yangguo@chromium.org
> LOG=Y
>
> Committed: https://chromium.googlesource.com/v8/v8/+/
b5379216e23ff0ec734e70361dd07057c2421c96
TBR=arv@chromium.org,yangguo@chromium.org,dslomov@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
745543002
Cr-Commit-Position: refs/heads/master@{#25432}
jochen [Thu, 20 Nov 2014 08:54:27 +0000 (00:54 -0800)]
Remove --clever-optimizations
We should always be clever
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
723023003
Cr-Commit-Position: refs/heads/master@{#25431}
dslomov [Thu, 20 Nov 2014 00:31:59 +0000 (16:31 -0800)]
Rename String.prototype.contains to 'includes'.
Per TC39 Nov 2014 decison.
R=arv@chromium.org,yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/
742963002
Cr-Commit-Position: refs/heads/master@{#25430}
dslomov [Wed, 19 Nov 2014 21:52:49 +0000 (13:52 -0800)]
Remove Weak{Map,Set}.prototype.clear.
Per Nov 2014 TC39 decision.
R=adamk@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/
739303002
Cr-Commit-Position: refs/heads/master@{#25429}
arv [Wed, 19 Nov 2014 20:31:01 +0000 (12:31 -0800)]
Reduce ErrorsFutureStrictReservedWords test to make it faster
Since checking all possible combinations is taking so long this
reduces the test to test the odd cases (let, yield and static) as
well as a single ordinary case.
BUG=v8:3707
LOG=n
Review URL: https://codereview.chromium.org/
724713004
Cr-Commit-Position: refs/heads/master@{#25428}
ishell [Wed, 19 Nov 2014 18:10:12 +0000 (10:10 -0800)]
Removed unnecessary generalization of all fields in Map::GeneralizeRepresentation() (introduced in r25082).
This generalization caused unnecessary map deprecation when the transition tree of the split map is full.
BUG=chromium:431807
LOG=N
Review URL: https://codereview.chromium.org/
736953003
Cr-Commit-Position: refs/heads/master@{#25427}
dcarney [Wed, 19 Nov 2014 16:23:33 +0000 (08:23 -0800)]
[turbofan]: delay ssa deconstruction in register allocator
BUG=
Review URL: https://codereview.chromium.org/
738853002
Cr-Commit-Position: refs/heads/master@{#25426}
Dusan Milosavljevic [Wed, 19 Nov 2014 16:08:23 +0000 (17:08 +0100)]
MIPS64: Prepare additonal code for turbofan landing.
TEST=
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
735033002
Cr-Commit-Position: refs/heads/master@{#25425}
Dusan Milosavljevic [Wed, 19 Nov 2014 15:44:39 +0000 (16:44 +0100)]
MIPS64: Add turbofan support for mips64.
TEST=
BUG=
R=danno@chromium.org, paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
732403002
Cr-Commit-Position: refs/heads/master@{#25424}
aandrey [Wed, 19 Nov 2014 15:16:30 +0000 (07:16 -0800)]
Allow stepping into Object.observe handlers.
BUG=chromium:432468
R=yangguo@chromium.org, adamk@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
739523002
Cr-Commit-Position: refs/heads/master@{#25423}
yangguo [Wed, 19 Nov 2014 14:13:44 +0000 (06:13 -0800)]
One instead of two runtime calls when initializing regexp.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
719403005
Cr-Commit-Position: refs/heads/master@{#25422}
Michael Stanton [Wed, 19 Nov 2014 14:08:30 +0000 (15:08 +0100)]
Revert "Re-land r25392 Use a stub in crankshaft for grow store arrays."
Due to performance issue.
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/
735323002
Cr-Commit-Position: refs/heads/master@{#25421}
yurys [Wed, 19 Nov 2014 13:29:45 +0000 (05:29 -0800)]
Enable "strict mode"; for debugger scripts
BUG=v8:3708
Review URL: https://codereview.chromium.org/
736583007
Cr-Commit-Position: refs/heads/master@{#25420}
machenbach [Wed, 19 Nov 2014 13:00:06 +0000 (05:00 -0800)]
Update default trybots.
Add new gn trybot and remove nosnap dbg for being too slow.
It can be used on demand.
BUG=chromium:353487
LOG=n
Review URL: https://codereview.chromium.org/
743643002
Cr-Commit-Position: refs/heads/master@{#25419}