Commit Graph

71269 Commits

Author SHA1 Message Date
Thibaud Michaud
7c67bc1928 [wasm][eh] Update delegate behavior
Update the behavior of 'delegate' according to:
https://github.com/WebAssembly/exception-handling/issues/176

Summary: delegate can target any block, which just rethrows to the next
outer try/catch.

R=clemensb@chromium.org

Bug: v8:8091
Change-Id: I967db9ab1cbb1a15b2c5e0a1a20f64fa19a3f769
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3140603
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76677}
2021-09-06 13:46:38 +00:00
Manos Koukoutos
f7d65d5069 [fuzzer] Generate gc types only in liftoff mode
Bug: v8:11954
Change-Id: I4886109edf5a732736051205076bed78fe78d5e2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141582
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76676}
2021-09-06 12:19:43 +00:00
Leszek Swirski
787bec0964 [sparkplug] Remove BaselineData, use Code directly
Remove the BaselineData intermediate structure for baseline code, and
write the baseline Code object into the SharedFunctionInfo directly. We
still need a pointer to the BytecodeArray/InterpreterData, so re-use the
Code object's deoptimization data slot for this (baseline code doesn't
have deoptimization data).

A consequence of this is that the BytecodeArray pointer becomes
immutable when there is baseline code. This means that we cannot install
a debug BytecodeArray while baseline code is active (we have to flush it
first), and we can't tier-up code with debug BytecodeArray to baseline.

Change-Id: I53b93ec4d4c64b833603d7992f246982fcd97596
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3118548
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76675}
2021-09-06 11:52:21 +00:00
Leszek Swirski
f65e6eeda8 Revert "[wasm][eh] Ship exception handling"
This reverts commit 4936628ed6.

Reason for revert: Seems to be making completely unrelated tests flake: https://crbug.com/v8/12173

Original change's description:
> [wasm][eh] Ship exception handling
>
> R=​ahaas@chromium.org
> CC=​ecmziegler@chromium.org
>
> Cq-Include-Trybots: luci.v8.try:v8_linux_blink_rel
> Bug: chromium:1173515
> Change-Id: Id487ec32de7ec10ba1f61f77414565949b8d3dc7
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3138203
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#76672}

Bug: chromium:1173515
Change-Id: Ibc447a8d73f81d938f6ae378a684111611d9fde5
Cq-Include-Trybots: luci.v8.try:v8_linux_blink_rel
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141604
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#76674}
2021-09-06 11:02:20 +00:00
Manos Koukoutos
55ee6271b7 [fuzzer] Print exception tags in testcase
Change-Id: Ib43602065122806e8cecc0fa810888f9d0ff52c8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141603
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76673}
2021-09-06 10:49:39 +00:00
Thibaud Michaud
4936628ed6 [wasm][eh] Ship exception handling
R=ahaas@chromium.org
CC=ecmziegler@chromium.org

Cq-Include-Trybots: luci.v8.try:v8_linux_blink_rel
Bug: chromium:1173515
Change-Id: Id487ec32de7ec10ba1f61f77414565949b8d3dc7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3138203
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76672}
2021-09-06 09:42:19 +00:00
Dan Elphick
81d7b164d2 [msvc] Fix debug build due to nodiscard
Adds a USE(...) around a std::accumulate which appears to have nodiscard
on it in MSVC builds. Probably only manifests with debug flags on as
otherwise code is not compiled.

Change-Id: I78f4f2c07161598336fedcdd4a204379c4deb81b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141579
Commit-Queue: Dan Elphick <delphick@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76671}
2021-09-06 09:38:29 +00:00
Marja Hölttä
5681a65658 [rab/gsab] Fix missing assignment in BackingStore::Reallocate
See https://github.com/nodejs/node/pull/39945

Bug: v8:11111
Change-Id: I7271a907bf036c18a014b2a13ff5746db622456a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141581
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76670}
2021-09-06 08:41:18 +00:00
Georg Neis
062b86e89c [test][compiler] Add flag --stress-concurrent-inlining-attach-code
It works like --stress-concurrent-inlining but instead of throwing
away the produced code it attaches it to the function as usual. This
mode will be used for fuzzing.

Bug: v8:7790
Change-Id: I010cbb7ab7ec29fccfa561eaff72e66c7444239f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3140602
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76669}
2021-09-06 08:40:08 +00:00
Jakob Gruber
9b3745fc8a [compiler] Fix FeedbackVectorRef::shared_function_info
.. another MakeRef vs. MakeRefAssumeMemoryFence spot.

Bug: v8:7790,chromium:1246465
Change-Id: I587538f5756896036aad5db4939a462c01d4cc2f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141580
Commit-Queue: Georg Neis <neis@chromium.org>
Auto-Submit: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76668}
2021-09-06 08:06:48 +00:00
Jakob Gruber
35990c9594 [regexp] Add a (currently failing) cctest for irregexp reentrancy
The test should be enabled once reentrancy is supported.

Bug: v8:11382
Change-Id: Ifb90d8a6fd8bf9f05e9ca2405d4e04e013ce7ee3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3138201
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Auto-Submit: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76667}
2021-09-06 07:04:39 +00:00
Lu Yahan
5a25444006 [riscv64] Using RV_li to load imm32
Bug: v8:12171
Change-Id: Icb50d5438f657f6d3c75cbc3409ccf6f1f880303
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141263
Commit-Queue: Yahan Lu <yahan@iscas.ac.cn>
Commit-Queue: Ji Qiu <qiuji@iscas.ac.cn>
Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
Reviewed-by: Ji Qiu <qiuji@iscas.ac.cn>
Cr-Commit-Position: refs/heads/main@{#76666}
2021-09-06 06:21:18 +00:00
v8-ci-autoroll-builder
9e6c10fb81 Update V8 DEPS.
Rolling v8/build: adea09b..db65769

TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com

Change-Id: Idbb6916b590967b86602005fe6a9836ec70f950e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3138947
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/main@{#76665}
2021-09-06 03:55:28 +00:00
v8-ci-autoroll-builder
b2b44af172 Update V8 DEPS.
Rolling v8/build: e5ab797..adea09b

TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com

Change-Id: I38b6465121760e5a5106abf71c38f53d87cad45e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3142953
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/main@{#76664}
2021-09-05 03:55:08 +00:00
v8-ci-autoroll-builder
0c538e8e5b Update google_benchmark
Rolling v8/third_party/google_benchmark/src: e7a8415..45b194e

Introduce Coefficient of variation aggregate (#1220) (Roman Lebedev)
https://chromium.googlesource.com/external/github.com/google/benchmark/+/45b194e

Statistics: add support for percentage unit in addition to time (#1219) (Roman Lebedev)
https://chromium.googlesource.com/external/github.com/google/benchmark/+/12dc5ee

report.py: adjust expected u-test values for tests (Roman Lebedev)
https://chromium.googlesource.com/external/github.com/google/benchmark/+/67b77da

TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com,mlippautz@chromium.org

Change-Id: Ide3df922b882bfc02510f8d763c9a9451d94955b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3142457
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/main@{#76663}
2021-09-04 05:29:30 +00:00
v8-ci-autoroll-builder
7912392e99 Update V8 DEPS.
Rolling v8/build: 5c32531..e5ab797

Rolling v8/buildtools/third_party/libc++abi/trunk: 7de86cb..fc37619

Rolling v8/third_party/aemu-linux-x64: zV70YxspSldB66kzaPKeo6zR_1yozZLp4bpWWR8dWRQC..aSVGWUgGw-Nuh-08X80jtqA2bVKylBoNa1h7D-6Kzf0C

Rolling v8/third_party/depot_tools: 8d07f5a..4b2a96e

TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com

Change-Id: If8834859c1e21cb6a6ed7bde6d84d8f4f2cc9bbf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3142452
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/main@{#76662}
2021-09-04 03:46:30 +00:00
Manos Koukoutos
f7efe45b55 [wasm-gc] Improve performance of array.copy in TF
We use BuildCCall over CallBuiltin. This improves the performance of
array.copy by up to 2x for small arrays.

Bug: v8:7748
Change-Id: Ibbd6a69267edb229beda1f6de4ff1c48eb38b729
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3135580
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76661}
2021-09-03 16:45:59 +00:00
Andreas Haas
b9f282a97e [wasm][externref] Support default value for the table constructor
The WebAssembly.Table constructor supports a second parameter that was
not supported by V8 so far.

R=thibaudm@chromium.org

Bug: v8:7581
Change-Id: Id74c53a6b1bde7f49a4edea8397d1cab253e1a0e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141571
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76660}
2021-09-03 15:43:59 +00:00
Michael Lippautz
61521ebde4 cppgc: Heap termination loop must consider CrossThreadPersistent
HeapBase::Terminate must consider newly created CrossThreadPersistent
when evaluating whether to conitnue the loop. This allows for catching
one off creations in destructors but will still crash for
>kMaxTerminationGCs chains.

Bug: chromium:1245519
Change-Id: I264f1b8f0de9f0bfeb66ca6b14c41faf15e4340c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3140606
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76659}
2021-09-03 14:26:41 +00:00
Michael Lippautz
ee3016b7c0 cppgc-js: Support eager traced value in ephemeron pairs
Before this patch, both key and value of an ephemeron pair was always
considered to be GarbageCollected objects.

This patch adjusts the snapshotting mechanism to accomodate that
values may not be GarbageCollected objects and must thus be eagerly
traced for visibility and edge creation.

In practice this only shows up in Blink when associating an existing
wrappable with a wrapper in a non-main world, e.g., through an
extension. In this case, DOMWrapperMap keeps the wrapper value through
a TracedReference in the ephemeron map with the existing wrappable as
key. The semantics are intended to be general ephemeron semantics,
i.e., value needs to be kept alive when the key is alive.  This is
visualized in DevTools as the main wrapper/wrappable pair (which is
merged into a single node for the snapshot) retaining the non-main
world wrapper.

Bug: chromium:1245894
Change-Id: Ibfa6722f20c76f94c310f9a040f0d3d4b9083bbb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3140601
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76658}
2021-09-03 14:09:11 +00:00
Andreas Haas
e61999cf13 [wasm] Update wasm spec tests
R=thibaudm@chromium.org

Change-Id: Id123af24456ee6a6388085e9168766f45321fa49
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141570
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76657}
2021-09-03 13:19:29 +00:00
Omer Katz
698cfd1462 Add young generation check to PretenureAllocationSite
PretenureAllocationSite didn't check whether the given object is in new
space or not. Once given an object in old space, PretenureAllocationSite
tried to find a memento for it which didn't exist and crashed.

This CL adds a bailout for objects not in new space as there is no
memento and nothing to be done.

Bug: chromium:1244333
Change-Id: Ic26a6f5994ef9942decda69bb8a23fb730bf945c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3140604
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76656}
2021-09-03 12:23:49 +00:00
Michael Achenbach
19254de6d4 [test] Run no-concurrent-inlining variant
After concurrent inlining is true by default we keep testing the
negated version on the main linux bots and drop testing the
variant on FYI, which is a no-op now.

Bug: v8:7790
Change-Id: I604838a45f3de242db82b42b93afdb56804152b5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3140599
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76655}
2021-09-03 12:16:59 +00:00
Marja Hölttä
6de4e21068 [parser] Fix class variable redeclaration
ParserBase::ParseClassLiteral and BaseConsumedPreparseData::RestoreDataForScope
both declare the class variable, but the logic is so complex
that they sometimes ended up both declaring it.

This is further complicated by some of the variable values (esp.
inner_scope_calls_eval_) potentially changing in between, so we can't
just redo the same logic any more.

Forcefully make it work by making RestoreDataForScope declare the variable
iff ParseClassLiteral didn't.

Bug: chromium:1245870
Change-Id: I777fd9d78145240448fc25709d2b118977d91056
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3140596
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76654}
2021-09-03 11:15:03 +00:00
Jakob Gruber
dedd725c7d [compiler] Remove --concurrent-inlining from --future
.. since it is now enabled by default.

Bug: v8:7790,v8:12142
Change-Id: Ia13e5ef9c1224b02dfe635c5fcd91e7a0346f5ff
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3138196
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Auto-Submit: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76653}
2021-09-03 10:14:30 +00:00
Yoshisato Yanagisawa
1b40eea857 Update reclient version to re_client_version:0.40.0.40ff5a5.
Manually update reclient version to re_client_version:0.40.0.40ff5a5.

Bug: chromium:1233780
Change-Id: I0ccae131efa038b8e82427af28ca78e527659237
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3140617
Commit-Queue: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Auto-Submit: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76652}
2021-09-03 08:47:30 +00:00
Al Muthanna Athamina
d58f5e0aeb [infra] Add CQ/CI for non-default cppgc configurations
Bug: v8:11004
No-Try: true
Change-Id: I9fa00095c25bf182faf660046129cb3577ce8199
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3138208
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Almothana Athamneh <almuthanna@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76651}
2021-09-03 08:36:31 +00:00
v8-ci-autoroll-builder
e3879c1078 Update google_benchmark
Rolling v8/third_party/google_benchmark/src: 2b09332..e7a8415

CMake: add forgotten include(FeatureSummary) into FindPFM.cmake to fix build (Roman Lebedev)
https://chromium.googlesource.com/external/github.com/google/benchmark/+/e7a8415

TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com,mlippautz@chromium.org

Change-Id: I67ffb580cb9b3d8f56262b001d8c5468fab1d235
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3138604
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/main@{#76650}
2021-09-03 05:31:37 +00:00
v8-ci-autoroll-builder
9e8410f4c3 Update V8 DEPS.
Rolling v8/build: 1dfc04f..5c32531

Rolling v8/buildtools: 9e8b0c9..7ea3a87

Rolling v8/buildtools/third_party/libc++abi/trunk: 9f0517e..7de86cb

Rolling v8/buildtools/third_party/libunwind/trunk: 6474ba4..edf77b2

Rolling v8/third_party/aemu-linux-x64: LrM1UivUqag71JX4WdAnr5pc_zp92frKvtN6GhDs2zEC..zV70YxspSldB66kzaPKeo6zR_1yozZLp4bpWWR8dWRQC

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/d9a9ebb..2331f08

Rolling v8/third_party/depot_tools: ae44ef1..8d07f5a

Rolling v8/third_party/instrumented_libraries: ea83816..47226fa

Rolling v8/tools/luci-go: git_revision:e08764bfcf2e87425a025e3a1d196c5740385da2..git_revision:7f42370cb3b75398bdb9ae0aabe215a70d40cd31

Rolling v8/tools/luci-go: git_revision:e08764bfcf2e87425a025e3a1d196c5740385da2..git_revision:7f42370cb3b75398bdb9ae0aabe215a70d40cd31

Rolling v8/tools/luci-go: git_revision:e08764bfcf2e87425a025e3a1d196c5740385da2..git_revision:7f42370cb3b75398bdb9ae0aabe215a70d40cd31

TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com

Change-Id: Ic35c01b8f299bcb8b0a53b99d08aba7fe161d2a8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3138531
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/main@{#76649}
2021-09-03 03:46:26 +00:00
Milad Fa
cd5830d8c7 S390 [simd]: Implement vector load lane
This CL takes advantage of the z15 `load byte reverse element`
instruction to optimize Simd LoadLane opcodes.

On the simulator we only run `load element` as reversing is
not required.

Change-Id: I038535f7e038bed7972844806644f50519d4919c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3138212
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/main@{#76648}
2021-09-02 22:32:57 +00:00
Michael Achenbach
0508f27705 [release] Get tools main-branch ready
No-Try: true
Bug: chromium:1222092
Change-Id: I9f662691f1cd1a221162052789a66ea99b98d371
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3135579
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Almothana Athamneh <almuthanna@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76647}
2021-09-02 16:37:26 +00:00
Luis Fernando Pardo Sixtos
b8feade615 Fix ContainsArgument on class fields shorthands
Fixed issue were using the `arguments` object as a shorthand for a class
field initializer was not producing an early error.

Bug: chromium:1216261
Change-Id: I7d8f5a85c6881f7ca12a0e8450954de15bdd6033
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3095017
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Luis Fernando Pardo Sixtos <lpardosixtos@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#76646}
2021-09-02 15:56:36 +00:00
Milad Fa
132d963627 s390: [wasm][liftoff] Detect NaNs for fuzzing
Port e6961df23f

Original Commit Message:

    Instrument floating-point operations to set a flag if the result is NaN.

R=martyn.capewell@arm.com, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
BUG=
LOG=N

Change-Id: I6f3fe550bf30f85bbb3fa9437d676896e876fd30
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3137418
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/main@{#76645}
2021-09-02 15:23:46 +00:00
Nico Hartmann
ecefa2a40a Revert "[arm64][liftoff] Fix trap handling on load lane"
This reverts commit 1786f8d770.

Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64/44442/overview

Original change's description:
> [arm64][liftoff] Fix trap handling on load lane
>
> This fixes the registered {protected_load_pc} to (always) point to the
> actual load instruction. If {dst != src} we would emit a register move
> before the load, and the trap handler would then not recognize the PC
> where the signal occurs, leading to a segfault.
>
> R=​thibaudm@chromium.org
>
> Bug: chromium:1242300, v8:12018
> Change-Id: I3ed2a8307e353fd85a7ddedf6ecb73e90a112d32
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3136454
> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
> Commit-Queue: Clemens Backes <clemensb@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#76642}

Bug: chromium:1242300, v8:12018
Change-Id: I7bc9d00a4fba3101e7ee68695961d1b543268c4e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3138202
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76644}
2021-09-02 12:50:58 +00:00
Yoshisato Yanagisawa
7fc37adc63 Add mb_config.pyl for 'V8 Win32 - builder (reclient)'
Bug: chromium:1233780
Change-Id: I9f8a83233606d55af43e2cc31263440af342e36f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3140034
Auto-Submit: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76643}
2021-09-02 12:30:15 +00:00
Clemens Backes
1786f8d770 [arm64][liftoff] Fix trap handling on load lane
This fixes the registered {protected_load_pc} to (always) point to the
actual load instruction. If {dst != src} we would emit a register move
before the load, and the trap handler would then not recognize the PC
where the signal occurs, leading to a segfault.

R=thibaudm@chromium.org

Bug: chromium:1242300, v8:12018
Change-Id: I3ed2a8307e353fd85a7ddedf6ecb73e90a112d32
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3136454
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76642}
2021-09-02 12:23:22 +00:00
Georg Neis
dc81345f7e [compiler] Fix a bug in SimplifiedLowering
Bug: chromium:1245949
Change-Id: Ib0a9b3b9307c925d6c3bb0b9c294eea5545b3819
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3138200
Commit-Queue: Georg Neis <neis@chromium.org>
Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
Auto-Submit: Georg Neis <neis@chromium.org>
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76641}
2021-09-02 11:37:45 +00:00
Jakob Gruber
66234a4d94 [compiler] AssumeMemoryFence in FeedbackCellRef::value
Drive-by: simplifications and avoid a repeated concurrent read.

Bug: v8:7790,v8:12157
Change-Id: I460c44853a78bcd9a1427e62a92994ff8602dbed
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3133148
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Auto-Submit: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76640}
2021-09-02 10:56:21 +00:00
Marja Hölttä
76adfd1c86 [super ic] Add tests for an already fixed security bug
Bug: chromium:1203122
Change-Id: Ief88320b620dbf2f347bf6f6fc1ebd459e60af3d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3138194
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76639}
2021-09-02 10:13:06 +00:00
Lu Yahan
1c6e8f93c4 [riscv64] Fix 'Debug check failed: op->IsAnyLocationOperand().'
Bug: v8:12151

Change-Id: I51a6ebc1fb94b62acdc018cfcf6fed498f1c9d21
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3139576
Commit-Queue: Yahan Lu <yahan@iscas.ac.cn>
Commit-Queue: Ji Qiu <qiuji@iscas.ac.cn>
Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
Reviewed-by: Ji Qiu <qiuji@iscas.ac.cn>
Cr-Commit-Position: refs/heads/main@{#76638}
2021-09-02 09:12:18 +00:00
Patrick Thier
02d8b8a97b [csa] Prepare for argument count consistency
- Replace CodeStubArguments::GetLength() with GetLengthWithReceiver()
and GetLengthWithoutReceiver()
- Introduce and use Torque macros to load the formal parameter count
(with and without receiver).
- Add actual_count to Torque arguments structure for cases where the
argument count is not used, but just forwarded to other builtins.

Bug: v8:11112
Change-Id: I32278efeffa2fb08361989c6df8de56c74add8b9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3124804
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76637}
2021-09-02 09:11:15 +00:00
Liu Yu
8b26bd2cf6 [mips][wasm][liftoff] Implement s128_set_if_nan in liftoff
Besides, fix an error in set_if_nan, because if src is a NaN, we should
set the i32 instead of i64 at address dst to a non-zero value.

Port e6961df23f

Bug: v8:11856

Change-Id: Icc9afda35d4cca4fd5ae82356ecaec77bf92d009
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3139055
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Auto-Submit: Liu yu <liuyu@loongson.cn>
Cr-Commit-Position: refs/heads/main@{#76636}
2021-09-02 08:35:46 +00:00
Zhao Jiazhong
ed6058c619 [loong64][regexp] Support unaligned accesses in regexp
Change-Id: Icf548bcbb619dd6d5fa8ac6f11f9ba01820e4215
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3139481
Reviewed-by: Liu yu <liuyu@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/main@{#76635}
2021-09-02 07:26:16 +00:00
v8-ci-autoroll-builder
e47b46bf23 Update V8 DEPS.
Rolling v8/build: 85ec285..1dfc04f

Rolling v8/buildtools: ac4ea2d..9e8b0c9

Rolling v8/buildtools/third_party/libc++abi/trunk: be47d0e..9f0517e

Rolling v8/third_party/aemu-linux-x64: 8RPB9bFL9jMqtkuzgf6G69QDdAGV9Re0Exh-3rzLXvoC..LrM1UivUqag71JX4WdAnr5pc_zp92frKvtN6GhDs2zEC

Rolling v8/third_party/android_platform: e98c753..6e5dc9a

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/83a41f1..d9a9ebb

Rolling v8/third_party/depot_tools: 9c1a533..ae44ef1

Rolling v8/third_party/instrumented_libraries: ee10dbd..ea83816

TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com

Change-Id: I90d1c0251372cd4d5ff2ca6db7f28842747b7769
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3138519
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/main@{#76634}
2021-09-02 03:49:34 +00:00
QiuJi
880ae4be19 [riscv64] Fix callee-saved checks in CallInternal
Also fix several out of date comments.

Change-Id: I15ee6c718ad50f231cd0a8e5c6416ccb58375140
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3121693
Commit-Queue: Ji Qiu <qiuji@iscas.ac.cn>
Reviewed-by: Brice Dobry <brice.dobry@futurewei.com>
Cr-Commit-Position: refs/heads/main@{#76633}
2021-09-02 02:11:20 +00:00
Liu Yu
f27d254a70 [mips][loong64] Modify the method of get a scratch register
Acquire a scratch register instead of passing scratch register
in JumpIfSmi and JumpIfNotSmi.

Change-Id: I21776e1cd9d19f0d55c25a5bb3f7efcc247c80e5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3135155
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Auto-Submit: Liu yu <liuyu@loongson.cn>
Cr-Commit-Position: refs/heads/main@{#76632}
2021-09-02 02:00:53 +00:00
legendecas
4dc425c5f9 [builtins] TypedArray.prototype.set with number
Removes outdated type-error throwing on TypedArray.prototype.set
when the first argument is a number.

Bug: v8:11294
Change-Id: Ida3a46dec154b645620e2b064ded7a18de238649
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3136773
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76631}
2021-09-02 00:06:23 +00:00
QiuJi
a8506d949c [riscv64][sparkplug] Clobber accumulator in StaGlobal
Port: 732f394c5d
Change-Id: I1a7a8dd7870a71df9f0e7c30392cd9a23b5cab3e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3126820
Commit-Queue: Brice Dobry <brice.dobry@futurewei.com>
Reviewed-by: Brice Dobry <brice.dobry@futurewei.com>
Cr-Commit-Position: refs/heads/main@{#76630}
2021-09-01 19:21:03 +00:00
Pierre Langlois
aece1a2a32 [turbofan] Record pipeline statistics in traces.
The --turbo-stats and --turbo-stats-wasm flags are useful but they do
not work on Chromium on Android, given we cannot print on exit of the
renderer process.

To cover all scenarios, we can encode the statistics as a string
argument in the trace format. It's also helpful to see those statistics,
as well as the code kind and function name, when clicking on a slice in
chrome://tracing or perfetto.

As a drive-by cleanup, rename ESCAPE to QUOTE in the JSON serialization
code.

Change-Id: I86f03d0e020c9543feb869620164bf1aad3a2432
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3132966
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
Cr-Commit-Position: refs/heads/main@{#76629}
2021-09-01 17:15:33 +00:00
Georg Neis
97a5b366d0 [test][compiler] Fix bug in %DisableOptimizationFinalization
After manually triggering finalization we should clear a potential
pending InstallCode interrupt request as there's nothing else to do
and keeping the request would defeat the purpose of the intrinsic.

Fixed: v8:12152
Change-Id: I063959c97c31868864a82c0584cabf779750d10d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3135578
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76628}
2021-09-01 15:58:24 +00:00