Commit Graph

71183 Commits

Author SHA1 Message Date
Thibaud Michaud
906459f142 Reland "[wasm][eh] Ship exception handling"
This is a reland of 4936628ed6

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, v8:12173
Change-Id: I61a216207e4aadfd00a716e3296af2f7c3e8df88
Cq-Include-Trybots: luci.v8.try:v8_linux_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141609
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76691}
2021-09-07 11:21:32 +00:00
Michael Achenbach
8b2e26945a [MB] Add fallback for MB configs on release branches
Bug: chromium:1136844
Change-Id: I635978a308eed2be33c1147f8007abb199bf195e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3143998
Reviewed-by: Almothana Athamneh <almuthanna@chromium.org>
Reviewed-by: Liviu Rau <liviurau@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76690}
2021-09-07 11:12:30 +00:00
Manos Koukoutos
ab4cf929f3 [wasm][turbofan] Set up basic inlining infrastructure
We introduce basic wasm inlining infrastructure behind a flag. The
implementation is currently incomplete. Additionally, we always inline
the function at index 0; proper inlining heuristics will be added later.

Changes:
- Rename WasmInliningPhase -> JSWasmInliningPhase
- Introduce WasmInliningPhase and WasmInliner.
- Pass additional parameters as needed to GenerateCodeForWasmFunction.
- Remove EnsureEnd in WasmGraphAssembler. Create end node at the start
  of compilation.
- Add a simple test.

Bug: v8:12166
Change-Id: Ifd7006ba378e9f74cd248b71e16869fbbb8a82be
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141575
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76689}
2021-09-07 10:57:30 +00:00
Liu Yu
fa0cb0204a [mips][loong64][sparkplug] Remove BaselineData, use Code directly
Port: 787bec0964

Change-Id: I40055181a3b14929559672845215ec560906ca8a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3144790
Auto-Submit: Liu yu <liuyu@loongson.cn>
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/main@{#76688}
2021-09-07 09:28:45 +00:00
Michael Achenbach
991fc40e0c [test] Add --stress-flush-code to numfuzz experiments
No-Try: true
Bug: v8:12172
Change-Id: I4bace3c91e71e4529ac8d75df3297036c6ca9756
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141588
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76687}
2021-09-07 08:41:44 +00:00
Georg Neis
b178c09049 [compiler] Further relax JSFunction dependency
... by only depending on "relevant" results for predicates.

Bug: v8:7790, v8:12173
Change-Id: I60b33a3a05197ca7e6d6a36e85c63fd7a48ee931
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3143994
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76686}
2021-09-07 07:54:54 +00:00
Georg Neis
fa2eb617ff [compiler] Make AccessorAccessInfoHelper read of module cell relaxed
... as the main thread might change its contents.

Bug: v8:12174, v8:7790
Change-Id: I66b2cafc7ddc9b387223693595a9d810b272d7b9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141586
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76685}
2021-09-07 07:41:44 +00:00
v8-ci-autoroll-builder
214d7e4011 Update google_benchmark
Rolling v8/third_party/google_benchmark/src: 45b194e..4f80705

COnsole reporter: if statistic produces percents, format it as such (#1221) (Roman Lebedev)
https://chromium.googlesource.com/external/github.com/google/benchmark/+/4f80705

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

Change-Id: I7461c9450c75ad308d26ab478b0d5cc6e5303a64
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3144353
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@{#76684}
2021-09-07 05:38:51 +00:00
v8-ci-autoroll-builder
4df8882339 Update V8 DEPS.
Rolling v8/build: c6c14d2..03a089b

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

Change-Id: I2e17cd400ac5a22a977d78d29e35e223488c41c5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3142000
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@{#76683}
2021-09-07 03:45:29 +00:00
Lu Yahan
8ef83ee3e4 [riscv64] Port 3118548:[sparkplug]Remove BaselineData, use Code directly
Change-Id: I1937469fdd3aed9cba6ef13b22c5d6f507df4174
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3144114
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@{#76682}
2021-09-07 02:15:09 +00:00
Lu Yahan
cf5021aa17 [riscv64] Fix atomic failed in liftoff
Bug: v8:12180
Change-Id: Id3cc3a78da73b10854fd21f2760b25de91ca5966
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3143811
Reviewed-by: Ji Qiu <qiuji@iscas.ac.cn>
Commit-Queue: Ji Qiu <qiuji@iscas.ac.cn>
Cr-Commit-Position: refs/heads/main@{#76681}
2021-09-07 01:48:49 +00:00
v8-ci-autoroll-builder
fcbcb42e52 Update V8 DEPS.
Rolling v8/build: db65769..c6c14d2

Rolling v8/third_party/depot_tools: 4b2a96e..d579cbc

Rolling v8/tools/clang: 403247e..749fd8e

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

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

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

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

Change-Id: I9dfca5f1aedb89819bb65458db57de42a0313eea
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3142337
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@{#76680}
2021-09-06 19:51:19 +00:00
Michael Achenbach
74a6e15efe [test] Align numfuzz default flags with standard runner
In order to deprecate different default flags, this sets the flag
passed on the standard runner now also on numfuzz.

No-Try: true
Bug: v8:12177
Change-Id: I3fb6872643f5bfad71362f22a804d22907641c84
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3143992
Reviewed-by: Almothana Athamneh <almuthanna@chromium.org>
Commit-Queue: Almothana Athamneh <almuthanna@chromium.org>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76679}
2021-09-06 17:11:19 +00:00
Omer Katz
d6b4d229a4 cppgc: Add missing in construction check to ephemeron processing
We need to check whether ephemeron key is fully constructed to sync the
mark bit before checking it.

Bug: chromium:1246730
Change-Id: I3ba69898202c1df94833a0bc7442b2be0e61694e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3143993
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76678}
2021-09-06 15:00:29 +00:00
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