Commit Graph

68416 Commits

Author SHA1 Message Date
Milad Fa
92cbe0e33d [sparkplug] fix compilation error on unsupported architectures
Handler was changed on supported architectures in this CL:
https://crrev.com/c/2786846

Change-Id: Ib7a63f12eccb956c4d7b84297f2f1514f053431a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787196
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73724}
2021-03-30 13:24:51 +00:00
Jakob Gruber
0d1fb3c7a8 Fix typos in map-updater.h
Change-Id: I95a7438e25e68980023526de75b8e961b45d5301
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794423
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73723}
2021-03-30 13:12:02 +00:00
Thibaud Michaud
b3d18785b9 [wasm][liftoff] Fix debug side table indexing
Take locals into account when computing the stack index for the next
control. Also include unwind in the list of blocks that have an implicit
exception reference on the stack.

R=ahaas@chromium.org

Bug: chromium:1183774
Change-Id: I29c67d286f1ec5efa9f2f80e13d083d6eff5836e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794421
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73722}
2021-03-30 13:01:01 +00:00
Leszek Swirski
00afef3c7f [sparkplug/ia32] Fix argc clobbering
Fix the InstallBaselineCode path in the InterpreterEntryTrampoline to
restore the clobbered eax (i.e. argc) register.

Bug: v8:11420, chromium:1192459
Change-Id: I97ce5739cf22a08fbb46dbf372ab6276bb802440
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2791567
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73721}
2021-03-30 12:03:01 +00:00
Thibaud Michaud
948e51fb12 [wasm][eh] Make delegating to an unwind block invalid
The delegate instruction is only allowed inside the try section of a try
block.

R=ahaas@chromium.org

Bug: chromium:1193169
Change-Id: I71756b18903dc39e487721b401d18bc4e213cbff
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2791565
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73720}
2021-03-30 11:54:22 +00:00
Thibaud Michaud
11110c307c [wasm][fuzzer] Stack overflow is nondeterministic
Before the introduction of exception handling in the compile fuzzer,
stack overflows were deterministic because they always caused the whole
stack to be unwound.
With support for exception handling, the stack overflow exception can be
caught and is a source of nondeterminism. Flag the interpreter result as
such in this case so that we skip the correctness check.

R=ahaas@chromium.org

Bug: chromium:1193212
Change-Id: I7efd38df1b3c108c1c41997395c2b22ded2b4ad1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2791566
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73719}
2021-03-30 11:05:11 +00:00
Maya Lekova
fc6447c538 [test] Disable flaky compiler test on TSAN
The disabled regress-9017 test allocates too much memory and started
flakily failing on TSAN. CL that triggered the flake:
https://chromium-review.googlesource.com/c/v8/v8/+/2731528

Bug: v8:9337
Change-Id: Ia039e42a88c3665a9b9b4adc4a4b7c923afd5ba5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2791564
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73718}
2021-03-30 08:41:41 +00:00
v8-ci-autoroll-builder
d61960a8da Update V8 DEPS.
Rolling v8/build: c835251..f14b4de

Rolling v8/buildtools: 99a2527..5dbd89c

Rolling v8/third_party/aemu-linux-x64: PQ5BA4WJfsqBSdlGRVmglasbA61vdJ1sHFa_R-euwHQC..XIdHv_hBF_KHdjhj04EhFab-lOzR9RJfY6u_7egTckgC

Rolling v8/third_party/depot_tools: e0de6a8..9781115

Rolling v8/tools/clang: fc39a84..303ff5a

Rolling v8/tools/luci-go: git_revision:e1c81c53ccd0366e8fff438f89030043343d4d6b..git_revision:e02b10c56fc68b83be5348df6a46cab27ca88fbc

Rolling v8/tools/luci-go: git_revision:e1c81c53ccd0366e8fff438f89030043343d4d6b..git_revision:e02b10c56fc68b83be5348df6a46cab27ca88fbc

Rolling v8/tools/luci-go: git_revision:e1c81c53ccd0366e8fff438f89030043343d4d6b..git_revision:e02b10c56fc68b83be5348df6a46cab27ca88fbc

TBR=v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: I2902d385189a3278b6f6ac556f900ed649c585d4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2793149
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@{#73717}
2021-03-30 04:07:26 +00:00
Ng Zhi An
816c5f4b56 [wasm] Update spec tests and un-fail SIMD tests
Change-Id: I5a7619df5258665f015089986fbd679291d4f414
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2791771
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73716}
2021-03-29 23:00:21 +00:00
Ng Zhi An
cfdac7f91d [wasm-simd] Move v128.select into SharedTurboAssembler
Bug: v8:11589
Change-Id: Iaabea832006e68f9506c1e191d324cee46680e20
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2791766
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73715}
2021-03-29 22:48:51 +00:00
Milad Fa
ebe13039b9 PPC [simd]: Implement Simd128ReverseBytes on AIX
Change-Id: Id9c82a83dca73aedd3ce98b648fc195aecb00c90
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2791562
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73714}
2021-03-29 22:07:51 +00:00
Milad Fa
7c31d892bb [wasm-simd]: Move AIX sign patch into the utils header
After https://crrev.com/c/2773784, patch is also needed within
test-run-wasm-relaxed-simd.cc.

Change-Id: Id1efc905c52840eee7b382b90795574b889a7249
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2788408
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73713}
2021-03-29 20:52:55 +00:00
Camillo Bruni
b86647372a [compiler] Check correct script type for streamed script
Bug: chromium:1061857
Change-Id: Ib87a18cae343c8861cf49e64923273a43db20960
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2767438
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73712}
2021-03-29 16:30:55 +00:00
Camillo Bruni
73dee8fca6 [runtime] Use MemsetTagged for initializing SmallOrderedHashTable
the_hole_value is in ReadOnlyRoots and we don't need write barriers
for it.

Change-Id: Iebdac2e6a2c0f594445e80cfd016dda351a66f98
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787486
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73711}
2021-03-29 16:22:25 +00:00
Camillo Bruni
f23e66e67b [api] Implement flags for V8 performance ablation study
This Cl adds the two following flags to artificially slow down script
execution in a controlled way:

--script_run_delay      delays the first every v8::Execute per isolate
--script_run_delay_once delays every v8::Execute

Bug: chromium:1193459
Change-Id: I78fcf940513e9f82fde57ff222e95df9202d00a7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2739641
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73710}
2021-03-29 14:46:15 +00:00
Milad Fa
6d26cb050b S390: Move LoadReverseSimd128 under kIsLoadOperation
Change-Id: I50eef2e93a439a5b28a443ce6b9fce3296fc5ba1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2791561
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73709}
2021-03-29 14:23:15 +00:00
Milad Fa
53df30cd36 [unittest] Remove extra argument from IsLoadImmutable on BE
Change-Id: Ie79995eb81f2c69ad73757f74a5e4dbfb22b0481
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784003
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73708}
2021-03-29 12:56:45 +00:00
Dominik Inführ
28d5f133df [heap] Fix deadlock with concurrent allocation and blocked main thread
It could happen (e.g. with --stress-background-compile) that the main
thread blocks for a background thread but the background thread requests
a GC from the main thread. This would result in a deadlock. Avoid this
by parking the main thread for potentially blocking operations and allow
allocations while the main thread is parked.

This CL introduces new states for the main thread: CollectionRequested
and ParkedCollectionRequested. These states will force Safepoint(),
Park() and Unpark() on the main thread into slow paths. The slow path
can then perform a GC on the main thread - right before parking or after
the main thread got unparked.

Bug: v8:10315
Change-Id: If7ef31622d27320613139a0b7f79086fe3200f99
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2731528
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73707}
2021-03-29 12:29:25 +00:00
Frank Emrich
51140a4409 [dict-proto] Rename v8_dict_mode_prototypes flag
The build time flag v8_dict_mode_prototypes is ill-named, because it
does not control whether properties are kept in dictionary mode (this
is done by the v8_dict_property_const_tracking flag), but instead it
controls if SwissNameDictionary or NameDictionary is used as the
property backing store for all dictionary mode objects.

This CL renames the flag and updates its description.

Change-Id: If1337838d1b6d8f089c281a77d9ef7cfd4007220
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786859
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73706}
2021-03-29 11:53:45 +00:00
Marja Hölttä
4e086ac5a0 [web snapshots] Do a TODO; std::vector -> FixedArray
Bug: v8:11525
Change-Id: I60566072f0af920fdf40ea5f1b80480910a224ce
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2778298
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73705}
2021-03-29 11:25:35 +00:00
Manos Koukoutos
3f1ed6991b [wasm-gc][liftoff] Fix array.get value register class
Bug: v8:7748, v8:11602
Change-Id: I007e80de0114cc651c8eb2ec825fc130a4b386c9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2790175
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73704}
2021-03-29 10:22:45 +00:00
Thibaud Michaud
806f79e492 [wasm][liftoff][eh] Fix unreachable delegate
Don't switch to the catch state if it is never reached.
Also steal the catch state instead of splitting it since it cannot be
used after a delegate instruction.

R=ahaas@chromium.org

Bug: chromium:1192313
Change-Id: I3967ac81e066d2146c8aa37b26a35a99ba88bdf6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787488
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73703}
2021-03-29 09:41:26 +00:00
Patrick Thier
6a2ee16d36 [sparkplug] Improve CFI handling in baseline compiler
With the addition of deoptimizing to baseline, we mark the begin of
every bytecode as a valid jump target in baseline code (Required for
CFI on arm64).
Therefore we can omit marking excpetion handler positions and binds
at the beginning of the bytecode as valid jump targets now.

Bug: v8:11420
Change-Id: Id173dacb5534b680c5c3796c78e2a2c2288e5e0a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786841
Auto-Submit: Patrick Thier <pthier@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73702}
2021-03-29 09:24:25 +00:00
Niek van der Maas
648fb10dcc Fix #1192941 - stack-overflow
Bug: chromium:1192941
Change-Id: Ifb17736936df6f3b1ad6081e74d802be8897fe74
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787489
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73701}
2021-03-29 09:05:05 +00:00
LiuYu
3fc2ee95d0 [mips][compiler] Inline 64bit immediates and RPO numbers in InstructionOperand
Port: 950b281ffe

Change-Id: I77f9389d1dfeaccccad533aa1d7bf41f913e6ae3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2790502
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/master@{#73700}
2021-03-29 07:44:25 +00:00
Dominic Chen
b6df18ee9a [inspector][test] Do not join a task more than once
In inspector-task.cc, the frontend and backend runners are explicitly
joined before going out-of-scope. On POSIX platforms, calling
pthread_join() on a thread that has already been joined has undefined
behavior. For example, under the musl C runtime library, a successful
call to pthread_join() will unmap the pthread_t thread information
region, and calling pthread_join() again will result in SIGSEGV.

R=clemensb@chromium.org, szuend@chromium.org

Change-Id: Ifdf34ed190df4c722c135ef043a3df588973b984
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2785905
Reviewed-by: Simon Zünd <szuend@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73699}
2021-03-29 06:55:14 +00:00
v8-ci-autoroll-builder
f88739b9c7 Update V8 DEPS.
Rolling v8/build: 5ecd95d..c835251

Rolling v8/buildtools: 4401ea9..99a2527

TBR=v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: Ib82b5138717778827b86736ad8c3213cf94a2792
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2790503
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@{#73698}
2021-03-29 03:45:32 +00:00
v8-ci-autoroll-builder
bab0737b17 Update V8 DEPS.
Rolling v8/build: 1c68d75..5ecd95d

Rolling v8/buildtools/linux64: git_revision:64b3b9401c1c3ed5f3c43c1cac00b91f83597ab8..git_revision:b2e3d8622c1ce1bd853c7a11f62a739946669cdd

Rolling v8/third_party/aemu-linux-x64: Q7BOLoBEKjKHVG4WYSf3qNuhySZ9nyW9T5qODWXbwLEC..PQ5BA4WJfsqBSdlGRVmglasbA61vdJ1sHFa_R-euwHQC

TBR=v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: Iecb19d78ecbf09929bfb1751afe78743333eae22
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2789654
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@{#73697}
2021-03-28 03:49:41 +00:00
v8-ci-autoroll-builder
697d3751f3 Update V8 DEPS.
Rolling v8/build: 5b847b7..1c68d75

Rolling v8/buildtools: 69cc9b8..4401ea9

Rolling v8/buildtools/third_party/libc++abi/trunk: 9bb0768..cbf9455

Rolling v8/third_party/aemu-linux-x64: T_v8z36hVtClZdI--UREcqogtXsjdf62oj2ae3H0JjMC..Q7BOLoBEKjKHVG4WYSf3qNuhySZ9nyW9T5qODWXbwLEC

Rolling v8/third_party/depot_tools: 392c407..e0de6a8

TBR=v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: Ie34b9c2219b8a126577e4a0c2505be40391a5961
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2789036
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@{#73696}
2021-03-27 03:45:10 +00:00
Milad Fa
c183ab165f PPC [simd]: fix NaN propagation on vector fp min/mix simulator
Change-Id: Ia60893e627d61cd8ec2663dea47c5463e3606c78
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787190
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73695}
2021-03-26 15:24:30 +00:00
v8-ci-autoroll-builder
6eb8c81f4a Update V8 DEPS.
Rolling v8/build: 7b935eb..5b847b7

Rolling v8/buildtools/third_party/libc++abi/trunk: f50df92..9bb0768

Rolling v8/third_party/aemu-linux-x64: wvBTICmOxqrOyqTGFXVMcKyHB3KmKkB4Xo6VVahwXs8C..T_v8z36hVtClZdI--UREcqogtXsjdf62oj2ae3H0JjMC

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/4f773bc..36e4502

Rolling v8/tools/clang: 84682eb..fc39a84

TBR=v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: I678dc956815be477f8842cfb62b0591cb0a5841b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787909
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@{#73694}
2021-03-26 03:55:00 +00:00
Liu Yu
6360533951 [mips][sparkplug][deoptimizer] Deoptimize to baseline.
Port: e438ae2df3

Bug:

Change-Id: Ie79b3b347304ce6a5048c6ad44b5e08f382ee1a0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784057
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/master@{#73693}
2021-03-26 03:21:10 +00:00
Ng Zhi An
9edfb35ad9 [wasm-simd] Move i64x2 abs gts ges into SharedTurboAssembler
Also clean up some comments in liftoff-assembler-x64.h.

Bug: v8:11589
Change-Id: I47fe5c2c794c863be1afde86d289ea197219a4f8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787591
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73692}
2021-03-26 00:04:50 +00:00
Igor Sheludko
bda0849019 [sparkplug] Enable short builtin calls by default (#3)
... when they are enabled via the GN flag.

Known issues are already fixed in a separate CL:
  https://chromium-review.googlesource.com/c/v8/v8/+/2786855

Sheriffs: This CL adds ~1.2-1.4Mb of memory overhead per Isolate on
certain configurations and that's expected. This is a temporary fix
until the full solution is implemented.
See the design doc linked to the issue for details.

Bug: v8:11527
Change-Id: Ia472352926494f59481e8ddc54e15c75f5730730
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786840
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73691}
2021-03-25 23:43:29 +00:00
Frank Emrich
8d62d4be7f [dict-proto] Rollout of SwissNameDictionary in CSA
This CL evokes that when v8_dict_mode_prototypes is enabled,
SwissNameDictionary is used in CSA as the dictionary backing store
for all objects (instead of NameDictionary).

Bug: v8:11330
Change-Id: I2bda0ec60040981f07e0e51aaf772ac1bb8bbc06
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786856
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73690}
2021-03-25 22:58:19 +00:00
Junliang Yan
e292db5dfc Reland "Reland "s390x: [liftoff] implement CallRuntimeStub""
This is a reland of 0655aa0573

Original change's description:
> Reland "s390x: [liftoff] implement CallRuntimeStub"
>
> This is a reland of 88c1ae95b6
>
> Original change's description:
> > s390x: [liftoff] implement CallRuntimeStub
> >
> > Change-Id: I505ea67af31006f3f233eef390f234cfc0188d6c
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2774479
> > Reviewed-by: Milad Fa <mfarazma@redhat.com>
> > Commit-Queue: Junliang Yan <junyan@redhat.com>
> > Cr-Commit-Position: refs/heads/master@{#73525}
>
> Change-Id: Id5d0ece78533439870fdc6b000026fe04e576448
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2774561
> Reviewed-by: Milad Fa <mfarazma@redhat.com>
> Commit-Queue: Junliang Yan <junyan@redhat.com>
> Cr-Commit-Position: refs/heads/master@{#73549}

Change-Id: I287a833a3c12869377b83bd66a1bf096f514e034
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787194
Reviewed-by: Milad Fa <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73689}
2021-03-25 22:03:13 +00:00
Ng Zhi An
6acd0e4ab0 [wasm-simd] Move extmul into SharedTurboAssembler
Left i16x8.extmul_low in the arch-specific macro-assemblers because
they rely on other functions defined in the same file. We can come back
and move it afterwards.

Bug: v8:11589
Change-Id: I2ea81c50ed52cc3e59e001b5e80aaf6b93a6572c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786280
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73688}
2021-03-25 21:40:34 +00:00
Ross McIlroy
950b281ffe [compiler] Inline 64bit immediates and RPO numbers in InstructionOperand
AddImmediate ends up pushing repeated immediates very often
unecessarily. Add support for Int64 immediates being inlined into
InstructionOperand if they fit into the payload (which is almost always
the case). Also add a seperate rpo_immediate vector for RPO numbers to
avoid having to add them to the immediates_ vector multiple times.
Ideally the RPO values would also be inlined, however JumpThreading
needs to patch RPO targets throughout the instruction stream, so we
need an indirection.

Change-Id: I75b1cdb05917f85d4f740a34c3720dd9cf0ee29c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2782282
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73687}
2021-03-25 21:39:18 +00:00
Junliang Yan
8f4298695e s390: fix random failures due to parameter popped in wrong order
Change-Id: I56b00f00f7b08dee881f473ecedd9596151dee4c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786858
Reviewed-by: Milad Fa <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73686}
2021-03-25 21:38:14 +00:00
Frank Emrich
5d27e6476f [dict-proto] CSA/Torque implementation of SwissNameDictionary, pt. 6
This CL enables proper testing for the CSA/Torque implementation of
SwissNameDictionary. This is done by changing the implementation of
test_swiss_hash_table::CSATestRunner.

This is the last CL of this series and concludes the CSA/Torque
implementation of SwissNameDictionary.

Bug: v8:11330
Change-Id: Ib46ef3a2c9ec9746591c2af94346be7d0382122b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786843
Commit-Queue: Frank Emrich <emrich@google.com>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73685}
2021-03-25 21:37:09 +00:00
Milad Fa
c71fe282a6 PPC [simd]: Add fp rounding and multiply-sum halfword to Sim
Change-Id: I9a1a236185614e41d6dba25331a0731666aed093
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787187
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Reviewed-by: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73684}
2021-03-25 21:36:04 +00:00
Zhi An Ng
157f3e8918 Revert "[wasm-simd] Move test helpers into wasm-simd-utils"
This reverts commit 9a6567b482.

Reason for revert: MSVC compile failures https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Win64%20-%20msvc/b8851762212188482624/steps?succeeded=true&debug=true

Original change's description:
> [wasm-simd] Move test helpers into wasm-simd-utils
>
> Move many test helpers into wasm-simd-utils. These helper functions can
> potentially be useful for relaxed-simd test in the future. I left behind
> simd specific test helpers, like load extend helpers, because those are
> for simd instructions.
>
> Bug: v8:11583,v8:11384
> Change-Id: Id9ed452b06eaf5c97a5dda174b53a37aede2a937
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2783295
> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
> Commit-Queue: Zhi An Ng <zhin@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73675}

Bug: v8:11583
Bug: v8:11384
Change-Id: I88bcefecd62c9b453d0f51ad9b9a912339b110eb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787239
Auto-Submit: Zhi An Ng <zhin@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/master@{#73683}
2021-03-25 19:43:06 +00:00
Ng Zhi An
d048799863 [wasm-simd] Remove scalar lowering tests
We already skip all tests on no-simd-sse builds, in effect not testing
scalar lowering. So, remove explicit tests for scalar lowering for all
other build configurations.

Cq-Include-Trybots: luci.v8.try:v8_linux_optional_rel_ng
Change-Id: I0aedad255236fa029e911bb9dc2dccab419791a4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2728249
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73682}
2021-03-25 19:28:38 +00:00
Frank Emrich
025af802d1 [dict-proto] CSA/Torque implementation of SwissNameDictionary, pt. 5
This CL adapts some existing dictionary-related operations in CSA to
support SwissNameDictionary, too. This is needed to make the CSA
version of the SwissNameDictionary test suite working.

Bug: v8:11330
Change-Id: Ieb315a0806d8910e50f3643abb9a68200485e4fd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784689
Commit-Queue: Frank Emrich <emrich@google.com>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73681}
2021-03-25 19:27:33 +00:00
Deepti Gandluri
b9c521d0ea Revert "[sparkplug] OSR Ignition -> Sparkplug"
This reverts commit 52393b900b.

Reason for revert: Reverting for TSAN fails - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20no-concurrent-marking/3061

Original change's description:
> [sparkplug] OSR Ignition -> Sparkplug
>
> Add support for OSR to baseline code.
> We compile baseline and perform OSR immediately when the bytecode budget
> interrupt hits.
>
> Drive-by: Clean-up deoptimizer special handling of JumpLoop by using
> the newly introduced GetBaselinePCForNextExecutedBytecode instead of
> GetBaselineEndPCForBytecodeOffset.
>
> Bug: v8:11420
> Change-Id: Ifbea264d4a83a127dd2a11e28626bf2a5e8aca59
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784687
> Commit-Queue: Patrick Thier <pthier@chromium.org>
> Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73677}

Bug: v8:11420
Change-Id: I335640216dbbf9a854fc276f3df95bf5a1f9956a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787192
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73680}
2021-03-25 19:26:16 +00:00
Leszek Swirski
b02dd5b36b [sparkplug] Allow sparkplug compilation to gracefully OOM
This also makes OOMing on --always-sparkplug not crash

Bug: v8:11420
Change-Id: Ibaa5eb8a268a7d47ec30210f5cf5af51e514f039
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786846
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73679}
2021-03-25 18:36:13 +00:00
Ng Zhi An
d51e27b6bf Move ia32 x64 shared macro assembler into directory
Bug: v8:11589
Change-Id: I3f1c6d1ece6c634915358f30537c9bbabc0cd3b0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2785818
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73678}
2021-03-25 18:09:43 +00:00
Patrick Thier
52393b900b [sparkplug] OSR Ignition -> Sparkplug
Add support for OSR to baseline code.
We compile baseline and perform OSR immediately when the bytecode budget
interrupt hits.

Drive-by: Clean-up deoptimizer special handling of JumpLoop by using
the newly introduced GetBaselinePCForNextExecutedBytecode instead of
GetBaselineEndPCForBytecodeOffset.

Bug: v8:11420
Change-Id: Ifbea264d4a83a127dd2a11e28626bf2a5e8aca59
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784687
Commit-Queue: Patrick Thier <pthier@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73677}
2021-03-25 18:05:43 +00:00
Ng Zhi An
904489691a [wasm-simd] Move int conversions into SharedTurboAssembler
The x64 and ia32 implementations are the same, modulo function
signature. x64 has a kScratchDoubleReg available, ia32 takes it as a
argument. We standardize on the ia32 function signature and have callers
on x64 pass in the scratch register.

Bug: v8:11589
Change-Id: I2f75705ed9c618d6e7a7e34ac96b78b772c4944d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786094
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73676}
2021-03-25 18:04:24 +00:00
Ng Zhi An
9a6567b482 [wasm-simd] Move test helpers into wasm-simd-utils
Move many test helpers into wasm-simd-utils. These helper functions can
potentially be useful for relaxed-simd test in the future. I left behind
simd specific test helpers, like load extend helpers, because those are
for simd instructions.

Bug: v8:11583,v8:11384
Change-Id: Id9ed452b06eaf5c97a5dda174b53a37aede2a937
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2783295
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73675}
2021-03-25 17:55:23 +00:00