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}
yangguo [Fri, 5 Dec 2014 13:03:10 +0000 (05:03 -0800)]
Reland "Encode reservation meta data in the snapshot blob."
CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg,v8_linux_nosnap_rel
Review URL: https://codereview.chromium.org/
781943002
Cr-Commit-Position: refs/heads/master@{#25681}
mstarzinger [Fri, 5 Dec 2014 13:01:58 +0000 (05:01 -0800)]
Cleanup deoptimizer relocation slot preparation.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
782703002
Cr-Commit-Position: refs/heads/master@{#25680}
jochen [Fri, 5 Dec 2014 11:15:20 +0000 (03:15 -0800)]
When generating code for ia32, make sure that there is enough reloc space
Compare with LCodeGen::FinishCode
BUG=none
R=jarin@chromium.org,mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
777243002
Cr-Commit-Position: refs/heads/master@{#25679}
mstarzinger [Fri, 5 Dec 2014 11:01:29 +0000 (03:01 -0800)]
Finally drop outdated misleading runtime.js comment.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
765833004
Cr-Commit-Position: refs/heads/master@{#25678}
danno [Fri, 5 Dec 2014 10:54:27 +0000 (02:54 -0800)]
[turbofan] Use "leal" in even more situations
Achieve more than parity with modes currently handled on ia32 in preparation for
porting the entire mechanism to ia32, including supporting mul of constants 3,
5 and 9 with "leal" instructions.
TEST=unittests
Review URL: https://codereview.chromium.org/
774193003
Cr-Commit-Position: refs/heads/master@{#25677}
Benedikt Meurer [Fri, 5 Dec 2014 09:29:27 +0000 (10:29 +0100)]
[x86] Slow case of TruncateDoubleToI shouldn't be inline.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
778113002
Cr-Commit-Position: refs/heads/master@{#25676}
jochen [Fri, 5 Dec 2014 09:09:13 +0000 (01:09 -0800)]
Teach the test runner whether it's running on a trybot or not
BUG=none
R=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
781763002
Cr-Commit-Position: refs/heads/master@{#25675}
machenbach [Fri, 5 Dec 2014 08:43:12 +0000 (00:43 -0800)]
Use merged JSTest config for performance tests.
The new config is now used for perf measurements. The old
ones are deleted to avoid redundancy.
This also ports https://codereview.chromium.org/
754523004 to the new config file.
BUG=chromium:374740
LOG=n
TBR=ulan@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
782673003
Cr-Commit-Position: refs/heads/master@{#25674}
Benedikt Meurer [Fri, 5 Dec 2014 07:59:04 +0000 (08:59 +0100)]
[turbofan] Redundant load elimination.
This is an initial version of redundant load elimination, currently
limited to LoadField operators, and implemented by walking the effect
chain.
TEST=unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
782473002
Cr-Commit-Position: refs/heads/master@{#25673}
v8-autoroll [Fri, 5 Dec 2014 04:27:41 +0000 (20:27 -0800)]
Update V8 DEPS.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
777373002
Cr-Commit-Position: refs/heads/master@{#25672}
paul.lind [Thu, 4 Dec 2014 23:50:26 +0000 (15:50 -0800)]
MIPS: Fixed environment handling for LFlooringDivI.
Port
c16b8f6cbbe295abf3fab2f6b9f4a4632db4cf6b
TEST=mjsunit/regress/regress-437765
BUG=
Review URL: https://codereview.chromium.org/
750213003
Cr-Commit-Position: refs/heads/master@{#25671}
adamk [Thu, 4 Dec 2014 21:37:10 +0000 (13:37 -0800)]
Revert of Optimize add/set/delete operations for string keys in Maps and Sets (patchset #5 id:70001 of https://codereview.chromium.org/
773993002/)
Reason for revert:
Caused test failures in mjsunit/es6/collections with --deopt-every-n-times=1
Original issue's description:
> Optimize add/set/delete operations for string keys in Maps and Sets
TBR=dslomov@chromium.org,arv@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
777233003
Cr-Commit-Position: refs/heads/master@{#25670}
arv [Thu, 4 Dec 2014 20:12:03 +0000 (12:12 -0800)]
Add js-perf-test for ES6 class default constructor
BUG=v8:3330
LOG=N
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
754523004
Cr-Commit-Position: refs/heads/master@{#25669}
adamk [Thu, 4 Dec 2014 20:07:41 +0000 (12:07 -0800)]
Optimize add/set/delete operations for string keys in Maps and Sets
Review URL: https://codereview.chromium.org/
773993002
Cr-Commit-Position: refs/heads/master@{#25668}
arv [Thu, 4 Dec 2014 19:24:18 +0000 (11:24 -0800)]
Make template scan related function take a template<bool> parameter
This is for performance. Having to do the test in every Advance was too
expensive.
BUG=438991, v8:3230
LOG=N
R=dslomov@chromium.org, marja
Review URL: https://codereview.chromium.org/
766193003
Cr-Commit-Position: refs/heads/master@{#25667}
vogelheim [Thu, 4 Dec 2014 18:51:15 +0000 (10:51 -0800)]
Cleanup: Remove NativesCollection<.>::*Raw* methods.
These methods for used for compressed libraries, where GetSource* functions
contained the compressed sources and [GS]etRawSource* the uncompressed
sources. This is dead code since the API no longer supports compression.
(If you need/want compressed sources, use the external startup data and
compress/uncompress on the Embedder's side.)
BUG=
Review URL: https://codereview.chromium.org/
772853003
Cr-Commit-Position: refs/heads/master@{#25666}
adamk [Thu, 4 Dec 2014 18:46:33 +0000 (10:46 -0800)]
Optimize testing for an index's existence in packed Arrays
This patch introduces a new inline runtime function,
%_HasFastPackedElements(), and uses it both in the implementation
of the 'in' operator and in the array builtins to speed
up testing for the existence of an index in an array.
In testing with the microbenchmark on the attached bug,
for example, the runtime goes from 326ms to 66ms.
A reviewer might ask whether the HAS_INDEX macro is worthwhile,
and I tried the same example without it, which pushed the
microbenchmark up to 157ms. So it seems it's worth it to
avoid the function call to IN() if we know we're dealing
with arrays and numbers.
BUG=v8:3701
LOG=n
Review URL: https://codereview.chromium.org/
754863002
Cr-Commit-Position: refs/heads/master@{#25665}
Dusan Milosavljevic [Thu, 4 Dec 2014 17:27:26 +0000 (18:27 +0100)]
MIPS; Improve checked load/store operators for constant offset and length.
TEST=
BUG=
R=balazs.kilvady@imgtec.com, paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
782493002
Cr-Commit-Position: refs/heads/master@{#25664}
jochen [Thu, 4 Dec 2014 16:44:20 +0000 (08:44 -0800)]
Explicitly track whether incremental marking was activated
In the gc-tracer, we check whether we're marking to figure out which
part of the mark compact we're in. If we aborted incremental marking for
whatever reason, the check fails and we might later run into trouble
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
783453003
Cr-Commit-Position: refs/heads/master@{#25663}
balazs.kilvady [Thu, 4 Dec 2014 16:29:01 +0000 (08:29 -0800)]
MIPS: Change CmpWeakValue to a more MIPS like GetWeakValue.
This approach saves one instruction by eliminating the use of Subu as a
pseudo-comparison.
BUG=
Review URL: https://codereview.chromium.org/
779793004
Cr-Commit-Position: refs/heads/master@{#25662}
arv [Thu, 4 Dec 2014 14:50:09 +0000 (06:50 -0800)]
ES6 template literals: Fix issue with template after rbrace
If we hade }` the right brace was always treated as part of the
template literal. We should only treat the right brace as part of
the literal when we continue to parse the template literal after a
placeholder.
BUG=v8:3734
LOG=Y
Review URL: https://codereview.chromium.org/
778813003
Cr-Commit-Position: refs/heads/master@{#25661}
jochen [Thu, 4 Dec 2014 14:09:29 +0000 (06:09 -0800)]
Check whether the marking deque overflowed in ProcessEphemeralMarking
Otherwise, we might exit to early when we call ProcessEphemeralMarking
with an empty, overflown deque
BUG=none
R=hpayer@chromium.org,erik.corry@gmail.com
LOG=n
Review URL: https://codereview.chromium.org/
777643002
Cr-Commit-Position: refs/heads/master@{#25660}
arv [Thu, 4 Dec 2014 12:24:30 +0000 (04:24 -0800)]
Stage ES6 template literals
BUG=v8:3230
LOG=Y
R=dslomov@chromium.org, rossberg@chromium.org
Review URL: https://codereview.chromium.org/
780603003
Cr-Commit-Position: refs/heads/master@{#25659}
Benedikt Meurer [Thu, 4 Dec 2014 11:19:28 +0000 (12:19 +0100)]
[turbofan] Narrow upper bounds during typed lowering.
This is a temporary solution, which optionally narrows upper bounds of
nodes when changing the operator of a node.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
741503006
Cr-Commit-Position: refs/heads/master@{#25658}
ulan [Thu, 4 Dec 2014 10:52:33 +0000 (02:52 -0800)]
Do not embed function in DirectLoadGlobalFunctionPrototype.
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/
778673002
Cr-Commit-Position: refs/heads/master@{#25657}
Benedikt Meurer [Thu, 4 Dec 2014 10:50:43 +0000 (11:50 +0100)]
[turbofan] Reduce context accesses during typed lowering.
TEST=unittests
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
776243002
Cr-Commit-Position: refs/heads/master@{#25656}
machenbach [Thu, 4 Dec 2014 10:37:36 +0000 (02:37 -0800)]
Make JSTests ready for Android measurements.
This adds a common perf configuration for JSTests including
Classes, Collections, Iterators and Strings. This allows
the android test runner to handle subdirectories correctly
and to share the base.js resource in the parent directory.
The new json config has added resources configs for the
Android runner.
The perf runner's relative paths on the device are fixed as
well. Resources are only pushed on the configuration node
where they are specified. They are pushed to a dir on the
device that follows the same directory structure as on the
host. The binary is executed in the benchmark folder on the
device like on the host to allow relative path file
loading.
BUG=chromium:374740
LOG=n
TEST=python -m unittest run_perf_test
TBR=ulan@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
779923002
Cr-Commit-Position: refs/heads/master@{#25655}
machenbach [Thu, 4 Dec 2014 10:31:13 +0000 (02:31 -0800)]
Revert of Encode reservation meta data in the snapshot blob. (patchset #3 id:40001 of https://codereview.chromium.org/
781443002/)
Reason for revert:
[sheriff] Breaks http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064/builds/1540
Original issue's description:
> Encode reservation meta data in the snapshot blob.
>
> This also makes reserving multiple chunks per object space possible.
>
> R=vogelheim@chromium.org
TBR=vogelheim@chromium.org,baixo@chromium.org,yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
780833002
Cr-Commit-Position: refs/heads/master@{#25654}
weiliang.lin [Thu, 4 Dec 2014 10:13:13 +0000 (02:13 -0800)]
[x64] check sahf correctly
BUG=
Review URL: https://codereview.chromium.org/
777173002
Cr-Commit-Position: refs/heads/master@{#25653}
yangguo [Thu, 4 Dec 2014 09:50:27 +0000 (01:50 -0800)]
Encode reservation meta data in the snapshot blob.
This also makes reserving multiple chunks per object space possible.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
781443002
Cr-Commit-Position: refs/heads/master@{#25652}
machenbach [Thu, 4 Dec 2014 08:58:01 +0000 (00:58 -0800)]
Fix path construction in perf runner.
BUG=chromium:374740
LOG=n
TEST=python -m unittest run_perf_test
TBR=ulan@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
776873005
Cr-Commit-Position: refs/heads/master@{#25651}
aandrey [Thu, 4 Dec 2014 08:53:23 +0000 (00:53 -0800)]
Fix Promise.resolve/Promise.reject unnecessarily scheduling a microtask.
R=rossberg@chromium.org, yangguo@chromium.org, adamk@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
777703002
Cr-Commit-Position: refs/heads/master@{#25650}
cdai2 [Thu, 4 Dec 2014 04:32:42 +0000 (12:32 +0800)]
X87: Use weak cells to embed maps in store handler.
port
3fc9c9b665baaa434c672efcbff632a2eae86f56
original commit message:
Use weak cells to embed maps in store handler.
BUG=v8:3629
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
779843002
Cr-Commit-Position: refs/heads/master@{#25649}
chunyang.dai [Thu, 4 Dec 2014 02:59:52 +0000 (18:59 -0800)]
X87: CheckPrototypes uses weak cells to embed maps.
port
062a032f50291ce181462226ff41b4ef9b11deba
original commit message:
CheckPrototypes uses weak cells to embed maps.
BUG=
Review URL: https://codereview.chromium.org/
761093004
Cr-Commit-Position: refs/heads/master@{#25648}
balazs.kilvady [Wed, 3 Dec 2014 18:32:57 +0000 (10:32 -0800)]
MIPS: Use weak cells to embed maps in store handler.
Port
3fc9c9b665baaa434c672efcbff632a2eae86f56
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/
762483004
Cr-Commit-Position: refs/heads/master@{#25647}
titzer [Wed, 3 Dec 2014 17:53:31 +0000 (09:53 -0800)]
Reland "[turbofan] Reuse forward fixpoint algorithm in Typer by making it a Reducer."
This reverts commit
918ef9d712ab77bc33ffb8eb985a6fd5672602f6.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
780623002
Cr-Commit-Position: refs/heads/master@{#25646}
balazs.kilvady [Wed, 3 Dec 2014 17:37:01 +0000 (09:37 -0800)]
MIPS: CheckPrototypes uses weak cells to embed maps.
Port
062a032f50291ce181462226ff41b4ef9b11deba
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/
777673002
Cr-Commit-Position: refs/heads/master@{#25645}
machenbach [Wed, 3 Dec 2014 15:34:53 +0000 (07:34 -0800)]
Optimize pushing files in android perf test runner.
BUG=chromium:374740
LOG=n
TEST=python -m unittest run_perf_test
NOTRY=true
Review URL: https://codereview.chromium.org/
754463005
Cr-Commit-Position: refs/heads/master@{#25644}
Ben L. Titzer [Wed, 3 Dec 2014 15:03:16 +0000 (16:03 +0100)]
Revert "[turbofan] Reuse forward fixpoint algorithm in Typer by making it a Reducer."
This reverts commit
a48ad24a7c258d95acf3a6ae126036953a9122dd.
BUG=
Review URL: https://codereview.chromium.org/
763773004
Cr-Commit-Position: refs/heads/master@{#25643}
wingo [Wed, 3 Dec 2014 14:52:36 +0000 (06:52 -0800)]
Move more don't-crankshaft computation to numbering pass
The "do I inline?" decision needs many of the same inputs as the "should
I even try to crankshaft?" decision. This change consolidates these
checks in the numbering pass. It also removes the is_generator() check,
as that's already handled when visiting the initial Yield expression.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
775693003
Cr-Commit-Position: refs/heads/master@{#25642}
balazs.kilvady [Wed, 3 Dec 2014 14:18:23 +0000 (06:18 -0800)]
MIPS64: [turbofan] Add checked load/store operators.
Port
c516d4f09408879602520748333754d3866224fb
BUG=
Review URL: https://codereview.chromium.org/
773113005
Cr-Commit-Position: refs/heads/master@{#25641}
arv [Wed, 3 Dec 2014 14:17:16 +0000 (06:17 -0800)]
Simplify template literal raw string creation
BUG=v8:3710
LOG=Y
R=dslomov@chromium.org, marja@chromium.org
Review URL: https://codereview.chromium.org/
768203002
Cr-Commit-Position: refs/heads/master@{#25640}
ulan [Wed, 3 Dec 2014 13:36:50 +0000 (05:36 -0800)]
Use weak cells to embed maps in store handler.
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/
774473004
Cr-Commit-Position: refs/heads/master@{#25639}
mstarzinger [Wed, 3 Dec 2014 13:24:49 +0000 (05:24 -0800)]
Prevent redundant node revisit in ControlEquivalence.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
773133003
Cr-Commit-Position: refs/heads/master@{#25638}
hpayer [Wed, 3 Dec 2014 13:13:49 +0000 (05:13 -0800)]
Restart idle round on context disposal.
BUG=
Review URL: https://codereview.chromium.org/
754363008
Cr-Commit-Position: refs/heads/master@{#25637}
Dusan Milosavljevic [Wed, 3 Dec 2014 13:09:46 +0000 (14:09 +0100)]
MIPS: Improve pushing arguments on stack.
TEST=
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
769283002
Cr-Commit-Position: refs/heads/master@{#25636}
Dusan Milosavljevic [Wed, 3 Dec 2014 12:50:38 +0000 (13:50 +0100)]
MIPS: Fix ambiguous double constant loading after adding checked load/store operators.
The V8_INFINITY macro expands to constant expression of type float.
TEST=mjsunit/constant-folding-2
BUG=
R=balazs.kilvady@imgtec.com
Review URL: https://codereview.chromium.org/
779433003
Cr-Commit-Position: refs/heads/master@{#25635}
ulan [Wed, 3 Dec 2014 12:34:26 +0000 (04:34 -0800)]
CheckPrototypes uses weak cells to embed maps.
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/
770373002
Cr-Commit-Position: refs/heads/master@{#25634}
titzer [Wed, 3 Dec 2014 11:51:55 +0000 (03:51 -0800)]
[turbofan] Reuse forward fixpoint algorithm in Typer by making it a Reducer.
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
769303002
Cr-Commit-Position: refs/heads/master@{#25633}
bmeurer [Wed, 3 Dec 2014 10:33:47 +0000 (02:33 -0800)]
[turbofan] Initial work on cleaning up the Node class.
- Remove use_count_, only used for debug builds and tests.
- Use BitField instead of the unreliable C++ bit fields.
- Improve memory layout.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
780503002
Cr-Commit-Position: refs/heads/master@{#25632}
hpayer [Wed, 3 Dec 2014 10:03:14 +0000 (02:03 -0800)]
Print finalize incremental marking event in idle notification.
BUG=
Review URL: https://codereview.chromium.org/
775013002
Cr-Commit-Position: refs/heads/master@{#25631}
hpayer [Wed, 3 Dec 2014 09:36:54 +0000 (01:36 -0800)]
Slow down incremental marking on main thread when idle notification is active.
BUG=
Review URL: https://codereview.chromium.org/
771703004
Cr-Commit-Position: refs/heads/master@{#25630}
yangguo [Wed, 3 Dec 2014 09:12:28 +0000 (01:12 -0800)]
Serializer: cache recent back references for shorter encoding.
And some refactorings.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
766893002
Cr-Commit-Position: refs/heads/master@{#25629}
marja [Wed, 3 Dec 2014 08:23:37 +0000 (00:23 -0800)]
Make test-parsing faster: don't run parsing tests with all experimental flag combinations.
Instead, make it possible for indifidual tests to pass "always true flags" which
are not part of the varying flag set.
The downside is that if an experimental flag changes parsing of some of the
unrelated code snippets, it's noticed later (only after the flag is turned on by
default). But this is a reasonable trade off for faster tests.
Additional fix: Some tests (ErrorsFutureStrictReservedWords) were using
always_flags incorrectly (running two different tests with different
always_flags basically iterates over every flag combination anyway - most of
them twice).
BUG=v8:3707
LOG=N
Review URL: https://codereview.chromium.org/
772823002
Cr-Commit-Position: refs/heads/master@{#25628}
Benedikt Meurer [Wed, 3 Dec 2014 07:34:47 +0000 (08:34 +0100)]
[turbofan] Combine additional Word32And with Int32Add and negative power of two.
- (y << L + x) & (-1 << L) => (x & (-1 << L)) + y << L
- (x + y << L) & (-1 << L) => (x & (-1 << L)) + y << L
TEST=unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
758603003
Cr-Commit-Position: refs/heads/master@{#25627}
paul.lind [Wed, 3 Dec 2014 00:28:07 +0000 (16:28 -0800)]
MIPS: [turbofan] Add checked load/store operators.
Port
c516d4f09408879602520748333754d3866224fb
Partial port to un-break the build. There are a few failing
tests, and the code is suboptimal for smaller offsets.
Fixes and mips64 port will come in another CL.
BUG=
Review URL: https://codereview.chromium.org/
762853004
Cr-Commit-Position: refs/heads/master@{#25626}
adamk [Tue, 2 Dec 2014 23:06:44 +0000 (15:06 -0800)]
Optimize non-mutation Map and Set operations for String keys
Review URL: https://codereview.chromium.org/
757143002
Cr-Commit-Position: refs/heads/master@{#25625}
vogelheim [Tue, 2 Dec 2014 18:53:27 +0000 (10:53 -0800)]
Fix NativesCollection<.>::GetScriptName in natives-external.cc
As there's no associated bug, here's the issue:
- Some ES6 functionality in Chrome is presently broken; this fixes it.
- The natives (built-in libraries) can be accessed by their 'name'.
This is used to active ES6 flags.
- Strangely enough, there's an id and a name, where the name is derived
from the id as "native %s.js", with %s for the id.
- NativesCollection<.>::GetScriptName uses the name.
- NativesCollection<.>::GetIndex uses the id.
- Example:
NativesCollection<EXPERIMENTAL>::GetIndex("harmony-string") -> 3
NativesCollection<EXPERIMENTAL>::GetScriptName(3) -> "native harmony-string.js"
- Nobody knows why; it's quite mysterious.
- When introducing the "external startup data", I didn't fully understand this
and used the id in both places.
- When the "external startup data" was turned on in Chrome, ES6 features broke
in Chrome since the libraries could no longer be found.
- This CL fixes this and makes the external startup data behave just like the
built-in version.
R=dslomov
BUG=
Review URL: https://codereview.chromium.org/
774613003
Cr-Commit-Position: refs/heads/master@{#25624}
baptiste.afsa [Tue, 2 Dec 2014 18:45:30 +0000 (10:45 -0800)]
[turbofan] Enable DivIsSafe flag for arm64.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
773803003
Cr-Commit-Position: refs/heads/master@{#25623}