Commit Graph

51913 Commits

Author SHA1 Message Date
Toon Verwaest
cdae5af896 [parser] Don't reindex function literals if there's a parser error
Bug: chromium:904275
Change-Id: I82712f70954246c16846f44bb9e8dc6e60e73d83
Reviewed-on: https://chromium-review.googlesource.com/c/1329686
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57421}
2018-11-12 09:16:50 +00:00
Toon Verwaest
bc53445397 [parser] Check stackoverflow in ParseBindingPattern
Bug: chromium:903874
Change-Id: If9828ae206b9bc1407e7d3f217d5fb894a4fe747
Reviewed-on: https://chromium-review.googlesource.com/c/1329688
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57420}
2018-11-12 09:15:45 +00:00
Georg Neis
57512786a4 [turbofan] Install code dependencies atomically.
Split the Install methods into PrepareInstall and Install, such that
all heap mutations (besides the actual installation) are done in
PrepareInstall and only the actual installation in Install. This
ensures that the code object in question doesn't get deoptimized while
we're still installing its dependencies.

Bug: chromium:903697
Change-Id: I4da97d89d0707fa3c00c97c092af0d0faa7a4946
Reviewed-on: https://chromium-review.googlesource.com/c/1329162
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57419}
2018-11-12 08:27:51 +00:00
Jakob Kummerow
0738a21ab2 [ubsan] Adapt ZoneHandleSet to new Handle internals
By matching ZoneHandleSet's internals to Handle's internals,
we can avoid a few unnecessary casts, and get rid of a few
more occurrences of Object**.

Bug: v8:3770
Change-Id: I24d6bad3a4959d977abf1f6b8db9be50bb2bc6d8
Reviewed-on: https://chromium-review.googlesource.com/c/1330907
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57418}
2018-11-12 08:00:07 +00:00
v8-ci-autoroll-builder
77b53a8f86 Update V8 DEPS.
Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/5d50916..f2c3502

Rolling v8/third_party/depot_tools: af0ede1..ddbeac1

TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org

Change-Id: Ie5eb9348ac4bec24bdd4b7c42cc64199ef55b90d
Reviewed-on: https://chromium-review.googlesource.com/c/1330919
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#57417}
2018-11-11 18:36:03 +00:00
Sergiy Byelozyorov
4737793b6e Add cctest to the v8_archive target and mark the latter as testonly
This is needed so that cctest is built for the Memory perf benchmark. Marking
v8_achive as testonly is necessary to be able to depend on the cctest, which is
testonly already.

R=machenbach@chromium.org

Bug: chromium:903562
Change-Id: If5baf3e75226282110999dfa2bd83d475b63258c
Reviewed-on: https://chromium-review.googlesource.com/c/1330912
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57416}
2018-11-10 17:51:33 +00:00
v8-ci-autoroll-builder
28d2af161c Update V8 DEPS.
Rolling v8/build: 3f61809..81ffd00

Rolling v8/third_party/depot_tools: 93cd73d..af0ede1

TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org

Change-Id: I4d9b172f6657d33629a021475290869f743c5482
Reviewed-on: https://chromium-review.googlesource.com/c/1330911
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#57415}
2018-11-10 03:54:37 +00:00
Jakob Kummerow
e2a3e10285 [ubsan] Replace Object** in runtime-scopes.cc
as part of the ongoing quest to get rid of Object**/Object* entirely.

Bug: v8:3770
Change-Id: Ibe05801fad78b26ca27b044c8091a26ccab5469a
Reviewed-on: https://chromium-review.googlesource.com/c/1330909
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57414}
2018-11-10 02:28:23 +00:00
Deepti Gandluri
799a69d4b6 [wasm] Improve instrumentation for chrome://tracing
Currently, the tracing for background tasks is quite cryptic when
looking at chrome://tracing. Most tasks that are posted appear as
ThreadControllerImpl::RunTask, which when looking at other threads
can be deduced as compile tasks. Improve instrumentation to be more
indicative of the work being done.

BUG:v8:8423

Change-Id: I9b5469154ff7163d743efb1df998ca1df08cd4ce
Reviewed-on: https://chromium-review.googlesource.com/c/1330012
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57413}
2018-11-09 23:51:54 +00:00
tzik
cec00efa12 Factor out RunSingleMicrotask from RunMicrotasks builtin
This CL moves RunSingleMicrotask with no logic change as a non-essential
part of the following CL, in order to reduce the following CL size.

Change-Id: I93e4aa860710c169c0474ee28ada083139d2b607
Reviewed-on: https://chromium-review.googlesource.com/c/1328552
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57412}
2018-11-09 22:46:45 +00:00
tzik
0d1ff784af Move MicrotaskQueue stuff of InternalBuiltinsAssembler to a separate class
This CL moves EnqueueMicrotask and RunMicrotasks builtins out of
InternalBuiltinAssembler to a separate class with no logic change.

This is a trivial part of the following "Implement Faster MicrotaskQueue Step 2"
https://crrev.com/c/1290751 in order to clean up the diff for easier review,
and also for unblocking other CLs.

Change-Id: I34dda8e599ffbf4db4bae07d3fd8ea3d6fadeb6b
Reviewed-on: https://chromium-review.googlesource.com/c/1328548
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57411}
2018-11-09 22:25:16 +00:00
Frank Tang
8a7f256796 [Intl] Remove 'regress-8413-*' tests.
All intl/regress-8413-* tests are super slow on native arm:
So remove them now.

NOTRY=true

Bug: v8:8435
Change-Id: I2d07ce00332d8323777f0a1aed5235b6f9c7f123
Reviewed-on: https://chromium-review.googlesource.com/c/1328645
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57410}
2018-11-09 21:51:44 +00:00
Adam Klein
53d3f5ba2a [intl] Remove regexp-prepare/regexp-assert from intl testcfg
Now that intl.js is gone, there's no particular reason to worry about
Intl features accidentally using RegExp objects in a way that would
be visible to author code.

Bug: v8:5751
Change-Id: I7bb274ed124ac593ab5f4f6995941f11a0ded480
Reviewed-on: https://chromium-review.googlesource.com/c/1325030
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57409}
2018-11-09 19:55:42 +00:00
Adam Klein
bb887d2ccf [mjsunit] Remove very slow Crankshaft regression test
This test was adapted from a repro, and thus it's rather complex.
It takes over seven minutes to run on the arm64 sim debug bot,
and nearly five minutes on arm.

Given that it was originally accompanied by a very targeted fix in
Crankshaft, it strikes me that this probably isn't worth our CPU
time to continue running.

Bug: v8:7783, chromium:85177
Change-Id: Ibe85cc254aa754365404b5fbbf80bcb1f5a09c68
Reviewed-on: https://chromium-review.googlesource.com/c/1327188
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57408}
2018-11-09 19:31:00 +00:00
Toon Verwaest
f4a586f06e [scanner] Fix string scanning corner-case
No-Presubmit: true
No-Tree-Checks: true
No-Try: true

Change-Id: I287197c8603e9e550d7f4832c1f85009136f4bb0
Reviewed-on: https://chromium-review.googlesource.com/c/1329961
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57407}
2018-11-09 18:04:59 +00:00
Clemens Hammacher
233cb0bfc6 [wasm][test] Remove default --wasm-async-compilation flag
The flag is on by default, so we don't need to specify it. More
importantly, the tests are expected to work for any value of that flag.
So don't force the flag but use whatever the test variant chooses.

Note that in streaming-compile.js, the flag was accidentally specified
as '-async-compilation'. I also removed that one.

R=ahaas@chromium.org

Change-Id: Ifad31160d266dda38cdd9dd1d73dad69bd2c2f2c
Reviewed-on: https://chromium-review.googlesource.com/c/1325961
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57406}
2018-11-09 17:29:17 +00:00
George Wort
3baca98580 [liftoff][arm] Initial 32-bit port.
Bug: v8:6600
Change-Id: I9ca4c52cec6fe6d6a88483072084dbd5a174a603
Reviewed-on: https://chromium-review.googlesource.com/c/1309755
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57405}
2018-11-09 17:28:12 +00:00
Clemens Hammacher
f321afeefd Remove unused AtomicValue::TrySetValue method
AtomicValue is deprecated, so we can start removing things that are not
in use any more.

R=mstarzinger@chromium.org

Bug: v8:8238
Change-Id: I0a1445eccaf89f8869fd56e0fbece809bbcd6e5e
Reviewed-on: https://chromium-review.googlesource.com/c/1326464
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57404}
2018-11-09 16:33:05 +00:00
Clemens Hammacher
878776f713 Remove testing-only method and field from Cancelable
Implement similar functionality in the unit test which used this field.
One test gets slightly weaker by this.

R=mstarzinger@chromium.org

Bug: v8:8238
Change-Id: I0b047ff54f08a4549a2f78af30e21296bb1ee63f
Reviewed-on: https://chromium-review.googlesource.com/c/1327042
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57403}
2018-11-09 16:27:20 +00:00
Toon Verwaest
1756e1c9a5 [scanner] Micro-optimize string scanning
For small strings there's not much of a difference, but allows faster scanning
over long strings. By directly accessing the underlying buffer and by typically
only needing 2 branches per non-special character.

Change-Id: I9c2c513177d9bf5e3f10c14a07bf6ecc2872b2f0
Reviewed-on: https://chromium-review.googlesource.com/c/1329206
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57402}
2018-11-09 16:09:11 +00:00
Daniel Clifford
e6e301d5a8 Fix IteratorCloseOnException Torque interface
It sould take an exception argument to ensure the proper re-throw
semantics.

Change-Id: I36caba1a80c0d3f59c18dce5a58a0c1f0100657d
Reviewed-on: https://chromium-review.googlesource.com/c/1328803
Commit-Queue: Daniel Clifford <danno@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57401}
2018-11-09 16:00:40 +00:00
Toon Verwaest
d0049fb7ac [parser] Track accept_IN with scopes and a different precendece table
Change-Id: I6da7a3cbf681a5ae691fe0aee2e69536a84f0df0
Reviewed-on: https://chromium-review.googlesource.com/c/1329174
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57400}
2018-11-09 15:55:40 +00:00
Mythri
1e9ead8ac6 Deprecate unsupported ScriptCompiler::CompileOptions
After adding an explicit API to create code caches the compile
options related to producing code caches are no longer supported.
Parser caches are also no longer supported.

Bug: v8:8015
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I6eb5d7cf6b03437834eb1a1d326374f09fbce5a9
Reviewed-on: https://chromium-review.googlesource.com/c/1238493
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57399}
2018-11-09 15:22:19 +00:00
Mythri
d056294416 Check for stack overflow when pushing arguments in JSConstructStubGeneric
Bug: chromium:896326
Change-Id: I9257573963f611711edbc48a46a3bacbe12a567d
Reviewed-on: https://chromium-review.googlesource.com/c/1305934
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57398}
2018-11-09 14:56:51 +00:00
Clemens Hammacher
578fe72102 Extract lambda tasks to task-utils.h
This extracts the lambda tasks to an own compilation unit and header
file. Additionally, it addresses the TODO to avoid templates and just
store the function to execute in an std::function.
Third, it provides the same functionality for pure (non-cancellable
non-idle) tasks.
Last, it removes the "Lambda" part from the methods, because we can
actually instantiate it with anything that is invocable (function
pointer, lambda, functor, ...).

R=ahaas@chromium.org

Bug: v8:8238
Change-Id: I2f613f5b15ee208f215bbf74bd6d1d41889fd637
Reviewed-on: https://chromium-review.googlesource.com/c/1328923
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57397}
2018-11-09 14:55:46 +00:00
Michael Achenbach
1f147c50af [test] Skip flaky test on ODROIDs
Also add the ability to skip tests only when --optimize-for-size is passed.

TBR=sergiyb@chromium.org

Bug: v8:7819
Change-Id: I1dcc26ea8664d014b6c50f0d636c13bf21e26ff2
Reviewed-on: https://chromium-review.googlesource.com/c/1328945
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57396}
2018-11-09 14:35:19 +00:00
Georg Neis
ed397a900d [turbofan] Simplify specialization of JSInstanceOf.
Primary change is the removal of a CheckValue that is
unnecessary because we only care about the map and there's
already a CheckMaps.

Secondary change is a minor refactoring for clarity.

Change-Id: I96abd1bc2b38919fd08daa1c688298f8807a0fe7
Reviewed-on: https://chromium-review.googlesource.com/c/1326026
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57395}
2018-11-09 14:21:46 +00:00
Clemens Hammacher
cc43dc974e Reland "Use std::atomic in Cancelable"
This is a reland of 61d42c9451.
Switched to acquire/release memory order.

Original change's description:
> Use std::atomic in Cancelable
>
> Avoid deprecated base::AtomicValue, use std::atomic instead.
> Plus minor drive-by cleanups.
>
> R=mstarzinger@chromium.org
>
> Bug: v8:8238
> Change-Id: I47a1f00e26a843b60380c50399eedc49d859830a
> Reviewed-on: https://chromium-review.googlesource.com/c/1326463
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57386}

Bug: v8:8238
Change-Id: I992a49d29af68cfa45bfae1bfb8dba5b47f94b25
Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel
Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/c/1329164
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57394}
2018-11-09 14:19:42 +00:00
Peter Marshall
a522da3935 [tools] Remove node backport script and leave a readme
There is a better maintained script in node-code-utils which properly
bumps the version numbers for each of the LTS branches, which is more
useful. Node collaborators also use this script, so it will make
backports more uniform.

Change-Id: If5449b8a801c4bd14f39d59b7af52cc959989be7
Reviewed-on: https://chromium-review.googlesource.com/c/1328927
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57393}
2018-11-09 14:08:43 +00:00
Camillo Bruni
aa351c245a [frames] Use stable addresses for the InnerPointerToCodeCache
The InnerPointerToCodeCache was masking out the Page address to get stable
hashes. However, for pointers into the embedded code this still introduces a
sources of randomness due to how the data is mapped in. This is fixed by
using offsets relative to the start of the embedded data.

Hopefully this will fix one category of flaky tests unde with
v8_enable_verify_predictable  enabled.

Change-Id: I6bc3a1b6a03555341a9e4387e8bc058921298ef1
Reviewed-on: https://chromium-review.googlesource.com/c/1327045
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57392}
2018-11-09 13:57:32 +00:00
Leszek Swirski
7698d8d60f [parser] Use a lookup table for identifier scanning
Change the keyword/identifier scan to a single loop that branchlessly
collects information on whether this is a possible keyword, identifier
terminator or slow path (i.e. escapes) by looking up the value in a
flags table (as long as the character is ascii).

Also rewrites that loop as an AdvanceUntil, and sprinkles in some
V8_LIKELY magic which is 'likely' to improve things.

Change-Id: If06b0fff23630e7593b515308e5ffeca2d65daa8
Reviewed-on: https://chromium-review.googlesource.com/c/1328943
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57391}
2018-11-09 13:40:18 +00:00
Michael Starzinger
631dd28db8 [wasm] Disable node splitting for asm.js code.
R=herhut@chromium.org
BUG=chromium:903197

Change-Id: Ibc9225afe4237f221ae169de3ce6b3abb45e2708
Reviewed-on: https://chromium-review.googlesource.com/c/1328925
Reviewed-by: Stephan Herhut <herhut@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57390}
2018-11-09 13:38:29 +00:00
Michael Achenbach
be9cd5edc5 [test] Mark failing test on Android
NOTRY=true
TBR=jshin@chromium.org

Bug: v8:8414
Change-Id: I7059304b2e9f593f9685a4a0a82f3e303cc4bc1e
Reviewed-on: https://chromium-review.googlesource.com/c/1329202
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57389}
2018-11-09 13:37:27 +00:00
Toon Verwaest
58988c6c63 [parser] Remove broken/half-implemented do-expressions
The current implementation isn't very helpful anyway if we ever really want
this.

Change-Id: Iad4132734980937aee462a1613d47887383585a0
Reviewed-on: https://chromium-review.googlesource.com/c/1328928
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57388}
2018-11-09 13:22:56 +00:00
Clemens Hammacher
66c9531318 Revert "Use std::atomic in Cancelable"
This reverts commit 61d42c9451.

Reason for revert: TSan failures: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20TSAN/23459

Original change's description:
> Use std::atomic in Cancelable
> 
> Avoid deprecated base::AtomicValue, use std::atomic instead.
> Plus minor drive-by cleanups.
> 
> R=​mstarzinger@chromium.org
> 
> Bug: v8:8238
> Change-Id: I47a1f00e26a843b60380c50399eedc49d859830a
> Reviewed-on: https://chromium-review.googlesource.com/c/1326463
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57386}

TBR=ulan@chromium.org,mstarzinger@chromium.org,clemensh@chromium.org

Change-Id: I96f269800eb9c26812050629f7f2c75096f3c858
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8238
Reviewed-on: https://chromium-review.googlesource.com/c/1329201
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57387}
2018-11-09 13:18:18 +00:00
Clemens Hammacher
61d42c9451 Use std::atomic in Cancelable
Avoid deprecated base::AtomicValue, use std::atomic instead.
Plus minor drive-by cleanups.

R=mstarzinger@chromium.org

Bug: v8:8238
Change-Id: I47a1f00e26a843b60380c50399eedc49d859830a
Reviewed-on: https://chromium-review.googlesource.com/c/1326463
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57386}
2018-11-09 12:45:50 +00:00
Toon Verwaest
b407d27450 [parser] Further restructure ParseAssignmentExpression
This better separates non-arrow/assignment from the alternative, and
destructuring assignment from other types of assignment to avoid unnecessary
and duplicate branches.

Change-Id: I51c59f86c705646c02f182c9719700c558297e4a
Reviewed-on: https://chromium-review.googlesource.com/c/1328921
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57385}
2018-11-09 12:36:19 +00:00
Toon Verwaest
948b02ce00 [parser] Throw unresolved private reference outside of Lookup
Change-Id: I81e14fd1b9b46181c44e2176dd0917966742d9d4
Reviewed-on: https://chromium-review.googlesource.com/c/1322910
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57384}
2018-11-09 12:33:58 +00:00
Marja Hölttä
0526f498d7 [in-place weak refs] Fix regression (crash).
The regressing change was:

https://chromium-review.googlesource.com/c/v8/v8/+/1090922/17/src/heap/factory.cc

This difference (empty list vs uninitialized) is important for other parts of
the code, mainly JSObject::UnregisterPrototypeUser whose return value depends on
this difference.

Other parts of the CL already talk about + prepare for using
Smi::kZero as a placeholder for "uninitialized" list.

No regression test added since without this bug, the regressesion test doesn't
crash but hangs.

BUG=chromium:903245

Change-Id: Id3efe955fbd7e08cc4048d23c5b519c504f0201c
Reviewed-on: https://chromium-review.googlesource.com/c/1328924
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57383}
2018-11-09 12:32:09 +00:00
Benedikt Meurer
56f6a763c2 [turbofan] Fix -0 check for subnormals.
Previously we'd check `x` for -0 by testing `(1.0 / x) == -Infinity`,
but this will yield the wrong results when `x` is a subnormal, i.e.
really close to 0.

In CSA we already perform bit checks to test for -0, so teach TurboFan
to do the same for comparisons to -0 (via `Object.is`). We introduce a
new NumberIsMinusZero simplified operator to handle the case where
SimplifiedLowering already knows that the input is a number.

Bug: chromium:903043, v8:6882
Change-Id: I0cb7c568029b461a92fc183104d5f359b4bfe7f4
Reviewed-on: https://chromium-review.googlesource.com/c/1328802
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57382}
2018-11-09 12:04:30 +00:00
Ulan Degenbaev
88fe4e5466 [heap] Optimize new space area check in concurrent marker.
Currently the new space linear allocation area boundaries are fetched
with sequentially consistent atomic loads.

This can be replaced with an acquire load.

Change-Id: Ib08e0bc0ae0ce79fee3723d29dc9a99a5d771880
Reviewed-on: https://chromium-review.googlesource.com/c/1326467
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57381}
2018-11-09 12:03:25 +00:00
Yang Guo
073073b4f1 [profiler] introduce API to enable detailed source positions
This allows Node.js to enable detailed source positions for optimized code
early on, without having to pass a flag string.

R=petermarshall@chromium.org

Change-Id: Ie74ea41f600cf6e31acbe802116df4976ccf1c75
Reviewed-on: https://chromium-review.googlesource.com/c/1319757
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57380}
2018-11-09 11:44:22 +00:00
Jakob Gruber
ff06752acf [builtins] Isolate-independent CallStubDelayed
This is only used by ProfileEntryHookStub. For builtins, this also
needs to go through an indirection.

Bug: v8:6666
Change-Id: I088fa472e2d365ccfb2d027bfbdad182ffae487e
Reviewed-on: https://chromium-review.googlesource.com/c/1326025
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57379}
2018-11-09 08:58:47 +00:00
Clemens Hammacher
13d89167b9 Modernize unittest for cancelable tasks
1) Use own test fixture {CancelableTaskManagerTest}.
2) Avoid base::AtomicWord.
3) Use unique_ptr.
4) Fix order of expected and actual values in EXPECT_EQ.

R=mstarzinger@chromium.org

Bug: v8:8238
Change-Id: I3d29785864bbf3de58c5d9d5384b9e0065255e99
Reviewed-on: https://chromium-review.googlesource.com/c/1325967
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57378}
2018-11-09 08:45:52 +00:00
Sergiy Byelozyorov
6b8c7148f3 [tools] Archive cctest as it is used by Memory benchmark
R=machenbach@chromium.org

Bug: chromium:903562
Change-Id: I150dd598249ed3f55eaebab1d776669f70a93c1b
Reviewed-on: https://chromium-review.googlesource.com/c/1327194
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57377}
2018-11-09 08:44:47 +00:00
Michael Achenbach
ed618c3972 Update V8 DEPS.
Rolling v8/build: cae006c..3f61809

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/1a1b38d..5d50916

Rolling v8/third_party/depot_tools: 75fa855..93cd73d

Rolling v8/third_party/icu: 834113a..45f655f

Rolling v8/tools/clang: 7798243..31f2d26

TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org

The ICU roll also fixes a test that now passes. The status file has been changed.

But: v8:8414
Change-Id: I82577bf6133176f2245b5562b71097fe3b222658
Reviewed-on: https://chromium-review.googlesource.com/c/1328003
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#57376}
2018-11-09 08:22:41 +00:00
Jaroslav Sevcik
3f022dd4f6 Use std::atomic in optimizing compiler dispatcher.
Change-Id: Ia1f47083689abb7d37c91098465a107a71f4dbea
Reviewed-on: https://chromium-review.googlesource.com/c/1225757
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57375}
2018-11-09 08:15:48 +00:00
Tom Tan
123a56a3a9 Mangle asm label correctly for Windows ARM64
Same as Windows x64, Windows ARM64 doesn't prefix assembly label with _.


Bug: chromium:893460
Change-Id: I1b19a4e7ea16da3fe8bd1873509fffe3d067613a
Reviewed-on: https://chromium-review.googlesource.com/c/1298376
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57374}
2018-11-09 07:49:16 +00:00
Sergiy Byelozyorov
25edcd91bd [tools] Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:893593
Change-Id: I5efafa57c8206982c4e5e4fa7442a3a05fb3c474
Reviewed-on: https://chromium-review.googlesource.com/c/1328641
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57373}
2018-11-09 05:17:02 +00:00
Frank Tang
76b35ebe05 [Intl] Change fail tests on Android.
Split the case of 'ar-SA' into
test/intl/regress-8432.js

Bug: v8:8432, v8:8413
Change-Id: I6a0e3040b132be6620649c7b7aa5fdd2e0f07053
Cq-Include-Trybots: luci.v8.try:v8_android_arm64_n5x_rel_ng_triggered
Reviewed-on: https://chromium-review.googlesource.com/c/1324574
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57372}
2018-11-08 21:51:07 +00:00