Commit Graph

68204 Commits

Author SHA1 Message Date
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
Frank Emrich
44eb526e88 [dict-proto] CSA/Torque implementation of SwissNameDictionary, pt. 4
This CL adds:

a) FindEntry, Add, and Delete operations on SwissNameDictionary in
   Torque

b) Helpers needed for that on both the CSA and Torque side

Bug: v8:11330
Change-Id: I549b9039108217a34ec1e95af84eb28af7dfc9d3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2778175
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Frank Emrich <emrich@google.com>
Cr-Commit-Position: refs/heads/master@{#73674}
2021-03-25 17:51:06 +00:00
Zhi An Ng
71f1f0d489 Revert "[fastcall] Add fast API testing facilities to d8"
This reverts commit 9eba2d85f4.

Reason for revert: TSAN failures https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20isolates/14265/overview

Original change's description:
> [fastcall] Add fast API testing facilities to d8
>
> This CL provides the minimum necessary functionality to expose fast API
> for testing in mjsunit, exposing the fast path for fuzzing. It exposes
> a d8.test.fast_c_api with an `add_all` method, which exercises primitive
> types. On x64, all integer and floating point types are supported. On
> other platforms currently only 32-bit integers are included in the test.
>
> Design doc:
> https://docs.google.com/document/d/1KUKPfXkSRZTA2gMwaWbpQKlYfw0C-T6AE3XzC4viHbo/
>
> Bug: chromium:1052746
> Change-Id: Icc824199a26dd2abd2b869f5483a39d38e4dce3e
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2749154
> Reviewed-by: Camillo Bruni <cbruni@chromium.org>
> Reviewed-by: Georg Neis <neis@chromium.org>
> Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
> Commit-Queue: Maya Lekova <mslekova@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73670}

Bug: chromium:1052746
Change-Id: Iaf5083540ddfe882a747eaa9d1d2a2a8b4ba0ec0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787081
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@{#73673}
2021-03-25 17:29:05 +00:00
Igor Sheludko
ac2560c819 [sparkplug] Fix short builtin calls
... and don't enable them for CFI builds.

Bug: v8:11527
Change-Id: I651473833c1e74d942bd75dc7574dbca45b34b64
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786855
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73672}
2021-03-25 17:20:05 +00:00
Andreas Haas
070159f3b9 [wasm] Install the exception constructor in InstallConditionalFeatures
When copying the setup of the WebAssembly.Exception constructor to
InstallConditionalFeatures, I forgot to copy some parts.

R=thibaudm@chromium.org

Bug: chromium:1191853
Change-Id: Iacba30b3356fc42b7d97f8c105ef91b776b95eb4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786853
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73671}
2021-03-25 16:28:53 +00:00
Maya Lekova
9eba2d85f4 [fastcall] Add fast API testing facilities to d8
This CL provides the minimum necessary functionality to expose fast API
for testing in mjsunit, exposing the fast path for fuzzing. It exposes
a d8.test.fast_c_api with an `add_all` method, which exercises primitive
types. On x64, all integer and floating point types are supported. On
other platforms currently only 32-bit integers are included in the test.

Design doc:
https://docs.google.com/document/d/1KUKPfXkSRZTA2gMwaWbpQKlYfw0C-T6AE3XzC4viHbo/

Bug: chromium:1052746
Change-Id: Icc824199a26dd2abd2b869f5483a39d38e4dce3e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2749154
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73670}
2021-03-25 15:56:53 +00:00
Z Nguyen-Huu
cbbf6cc1fe [v8windbg] Fix dx @$curisolate()
Change-Id: Iea2fa346bb4d6cd34a1e3f892b9787e75f26237d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786681
Reviewed-by: Seth Brenith <seth.brenith@microsoft.com>
Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#73669}
2021-03-25 15:52:23 +00:00
Leszek Swirski
dba445c007 [sparkplug] Fix --always-sparkplug in tests
Disable or support --always-sparkplug in various tests that until now
were always expecting only bytecode.

Bug: v8:11420
Change-Id: Ida45041739fb55851aa493c51f1ed796aa1c0606
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786852
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73668}
2021-03-25 15:37:23 +00:00
Leszek Swirski
a1bb0eb197 [sparkplug] Allow baseline code in the profile listener
Fix a broken DCHECK when logging existing baseline code.

Bug: v8:11420
Change-Id: I66cf1b1b806aef74bcc9c1a0061bec1834b719f6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786850
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73667}
2021-03-25 15:29:23 +00:00
Leszek Swirski
9e939c0976 [sparkplug] Pass flags to CreateShallowArrayLiteral
CreateShallowArrayLiteral can fail and bail out to the runtime. We
therefore have to pass the literal flags to the builtin, so that the
runtime e.g. initialises the AllocationSite correctly.

Bug: v8:11420
Change-Id: I57dfbbc202aa2c3b0e7ac01f65ee84f6e3763180
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786848
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73666}
2021-03-25 15:09:53 +00:00
Leszek Swirski
af08fdbfb3 [sparkplug] Flush baseline code in context serializer
JSFunctions can store a pointer to baseline code, which would trigger
that code to be serialized in the context serializer. Since we don't
support baseline code serialization, we have to flush these baseline
code pointers.

This is similar to the existing optimized code flushing.

Bug: v8:11420
Change-Id: Idabd0caea24aed484d5cf39ad0dad8c2c8180b91
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786849
Reviewed-by: Patrick Thier <pthier@chromium.org>
Commit-Queue: Patrick Thier <pthier@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73665}
2021-03-25 14:50:43 +00:00
Leszek Swirski
8f5f5c6828 [sparkplug] Add missing SaveAccumulatorScopes
Some baseline implementations of non-accumulator-writing bytecodes
would call builtins without saving the accumulator. This clobbers the
accumulator. This was particularly observable with IncBlockCounter.

Bug: v8:11420
Change-Id: I1e8a06526ea6ed018da0d6213775cce130c72aee
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786847
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73664}
2021-03-25 14:18:53 +00:00
Leszek Swirski
bb3794c711 [profiler] Fix reachability in eager logging test
Use a local context and compilation cache clearing to trigger code
deletion in ClearUnusedWithEagerLogging, rather than relying on bytecode
flushing. This allows the test to succeed with non-flushable
native-context-independent code, like Sparkplug baseline code.

Bug: v8:11420
Change-Id: Id6e3626b6245b4308d95aa3995a8fb2ee53684f7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786851
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73663}
2021-03-25 14:13:43 +00:00