Rolling v8/build: d01f8cf..b962cf8
Rolling v8/third_party/aemu-linux-x64: 2zvSiyDoNIOA05-NfIzaaqrW2-5iI24Lkw3TJ8uGtFAC..WdwDIQC1_Ug_YFwjZ39W0oe0J4kXmVVQJba0vkkqNmsC
Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/1178627..da171bf
Rolling v8/third_party/depot_tools: f2cfd3d..053a717
Rolling v8/tools/clang: ddfad9c..15a4172
Rolling v8/tools/luci-go: git_revision:84c2e8c00bcf3bcea776a4b4a62134921d8a177a..git_revision:34ae8f13bb2156451655ec53b360942a502469df
Rolling v8/tools/luci-go: git_revision:84c2e8c00bcf3bcea776a4b4a62134921d8a177a..git_revision:34ae8f13bb2156451655ec53b360942a502469df
Rolling v8/tools/luci-go: git_revision:84c2e8c00bcf3bcea776a4b4a62134921d8a177a..git_revision:34ae8f13bb2156451655ec53b360942a502469df
TBR=v8-waterfall-sheriff@grotations.appspotmail.com
Change-Id: I8d229d890ade0268e5e37fd2b61635d8dcad3a46
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2798974
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@{#73761}
This is a reland of de5f8614a7
Original change's description:
> [atomics] Fix critical section for Atomics.waitAsync
>
> Loading the value at the index for the futex wait should be protected by
> the waiterlist mutex for both sync and async waits.
>
TBR=marja@chromium.org
Bug: chromium:1194026
Change-Id: Id495a7778adf23a7d9dcd80f58179fe8d22fde2c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2798511
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73759}
Loading the value at the index for the futex wait should be protected by
the waiterlist mutex for both sync and async waits.
Bug: chromium:1194026
Change-Id: Ie9896cab6828763ebb963f5ad96f264d57c9377f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2796159
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73753}
Move the helper class and some function definitions into
SharedTurboAssembler. We leave most of the other function definitions
inside of macro-assembler-x64, and will move them later.
Also move i16x8.ext_mul high as a check that this code movement works.
Bug: v8:11589
Change-Id: I8ec1fa24cb93b4c4c8bd936a9df06cbf5328374f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2792080
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73750}
The trace_event_common.h header file isn't used with Perfetto any
longer, so avoid adding a dependency to it from cppgc. Additionally
v8_tracing should be a public dependency so that any public headers
exposed from the target can also include tracing-related headers.
Bug: chromium:1006541
Change-Id: Ia3d48a8dad83df2ff3ea1ce36344dbb70ea83709
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2797278
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Auto-Submit: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73748}
This CL is part of a series that implements Turbofan support for
property accesses satisfying the following conditions:
1. The holder is a dictionary mode object.
2. The holder is a prototype.
3. The access is a load.
This feature will only be enabled if the build flag
v8_dict_property_const_tracking is set.
This particular CL modifies existing mjsunit tests whose assumptions
don't hold if v8_dict_property_const_tracking is enabled. This is
done by adding special handling for the case that
%IsDictPropertyConstTrackingEnabled() holds.
Bug: v8:11248
Change-Id: Ia36be73e4659a988b2471f0c8151b0442f3a98f5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2780292
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73745}
Due to immutable loads being placed earlier during scheduling and
subsequently being spilled, the safepoint table of a function may grow
significantly. Until we implement an optimization to avoid spilling in
such cases, we disable immutable loads for tagged values.
Bug: chromium:1191540, v8:11510
Change-Id: Ia5c5d274e6d4b9145cd028828f9a328a65bed17f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2796953
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73743}
We need to exit before FallThruTo invokes DCHECK(this->ok()).
Bug: chromium:1194316
Change-Id: I77eb58cbe232277cc8fc3cc0d1c327d7eba8bfb3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2796954
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73742}
This is a reland of 856e8577e3
The diff compared to the first attempt is that the tests that
require SSSE3/AVX are not run when these CPU features are not
available.
Original change's description:
> [dict-proto] SIMD support for SwissNameDictionary in Torque
>
> This CL adds a Torque-counterpart for swiss_table::GroupSse2Impl in
> Torque. This allows the Torque version of SwissNameDictionary to use
> SSE for lookups, rather than needing to bailout to the runtime on
> x64/ia32.
>
> Bug: v8:11330
> Change-Id: I74e3f97c460a8b89031016967ec0e545265016a9
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787485
> Reviewed-by: Igor Sheludko <ishell@chromium.org>
> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
> Reviewed-by: Zhi An Ng <zhin@chromium.org>
> Commit-Queue: Igor Sheludko <ishell@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73727}
Bug: v8:11330
Cq-Include-Trybots: luci.v8.try:v8_linux_optional_rel_ng
Change-Id: Ibfa5ae5a39333778ea0d0406d5ea4ad683ad0dbe
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794431
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73740}
Remove the requirement to pass the native context into the script cache,
simple to be able to access the empty function. Instead, for script
cache keys, use Smi::zero() in the 'owner function' slot.
This allows CompileUnboundScript to be called outside of a Context
scope.
Change-Id: I9b4fe6dd43f14944728664f7203b748ced750e76
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794440
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73737}
MaybePrintAst needs to be run before parking the thread. It allows
handle dereferences internally but that doesn't work when thread is
parked.
Bug: chromium:1193728
Change-Id: I0adbf6f236be8d442fd8be4d4d6e4931fcff4db6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794432
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73736}
This reverts commit c83c9590ba.
Reason for revert: Speculatively reverting for a failure on Arm GC stress bot - https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Arm%20GC%20Stress/b8851256837192083520/overview
Original change's description:
> [ic] Add a new MegaDOM IC
>
> This patch implements the MegaDOM IC setup and access. A new MegaDOM
> IC state indicates that we've seen only DOM accessors at this access
> site.
>
> This CL only adds support for DOM getters in LoadIC, other kinds of
> access will be added in follow on CLs.
>
> Still remaining TODO before shipping:
> 1. Have a mechanism to invalidate the protector
> 2. Have a mechanism to find the accessors that aren't overloaded
> 3. Use a new builtin to miss to runtime on access check failure
>
> Change-Id: Ie12efe5e9fa284f023043b996d61e7d74e710ee2
> Bug: v8:11321
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2618239
> Reviewed-by: Omer Katz <omerkatz@chromium.org>
> Reviewed-by: Camillo Bruni <cbruni@chromium.org>
> Reviewed-by: Dan Elphick <delphick@chromium.org>
> Reviewed-by: Mythri Alle <mythria@chromium.org>
> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73733}
Bug: v8:11321
Change-Id: Ib6a55796f2a3c345d4923f9eaa215a6ff55ed15b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794437
Auto-Submit: Maya Lekova <mslekova@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@{#73734}
This patch implements the MegaDOM IC setup and access. A new MegaDOM
IC state indicates that we've seen only DOM accessors at this access
site.
This CL only adds support for DOM getters in LoadIC, other kinds of
access will be added in follow on CLs.
Still remaining TODO before shipping:
1. Have a mechanism to invalidate the protector
2. Have a mechanism to find the accessors that aren't overloaded
3. Use a new builtin to miss to runtime on access check failure
Change-Id: Ie12efe5e9fa284f023043b996d61e7d74e710ee2
Bug: v8:11321
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2618239
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73733}
Rolling v8/build: f14b4de..d01f8cf
Rolling v8/buildtools/linux64: git_revision:b2e3d8622c1ce1bd853c7a11f62a739946669cdd..git_revision:5667cc61018864b17542e0baff8b790f245583b0
Rolling v8/buildtools/third_party/libc++abi/trunk: cbf9455..77b3c6b
Rolling v8/buildtools/third_party/libunwind/trunk: cc80b4a..c9174a6
Rolling v8/third_party/aemu-linux-x64: XIdHv_hBF_KHdjhj04EhFab-lOzR9RJfY6u_7egTckgC..2zvSiyDoNIOA05-NfIzaaqrW2-5iI24Lkw3TJ8uGtFAC
Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/36e4502..1178627
Rolling v8/third_party/depot_tools: 9781115..f2cfd3d
Rolling v8/tools/clang: 303ff5a..ddfad9c
Rolling v8/tools/luci-go: git_revision:e02b10c56fc68b83be5348df6a46cab27ca88fbc..git_revision:84c2e8c00bcf3bcea776a4b4a62134921d8a177a
Rolling v8/tools/luci-go: git_revision:e02b10c56fc68b83be5348df6a46cab27ca88fbc..git_revision:84c2e8c00bcf3bcea776a4b4a62134921d8a177a
Rolling v8/tools/luci-go: git_revision:e02b10c56fc68b83be5348df6a46cab27ca88fbc..git_revision:84c2e8c00bcf3bcea776a4b4a62134921d8a177a
TBR=v8-waterfall-sheriff@grotations.appspotmail.com
Change-Id: Ia8bde8a54be27bc763755a0ce214b75a144e1800
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2796165
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@{#73732}
Bug: v8:9337
Change-Id: Ic9b1072007ed19435b8ea669bee7c07c7eef8e2b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2795274
Auto-Submit: Adam Klein <adamk@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73731}
This reverts commit 856e8577e3.
Reason for revert: Broke https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20debug/34562/overview
Original change's description:
> [dict-proto] SIMD support for SwissNameDictionary in Torque
>
> This CL adds a Torque-counterpart for swiss_table::GroupSse2Impl in
> Torque. This allows the Torque version of SwissNameDictionary to use
> SSE for lookups, rather than needing to bailout to the runtime on
> x64/ia32.
>
> Bug: v8:11330
> Change-Id: I74e3f97c460a8b89031016967ec0e545265016a9
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787485
> Reviewed-by: Igor Sheludko <ishell@chromium.org>
> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
> Reviewed-by: Zhi An Ng <zhin@chromium.org>
> Commit-Queue: Igor Sheludko <ishell@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73727}
Bug: v8:11330
Change-Id: I453b299455ac088f7e6ecde1e8003ef58d958b51
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2795270
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@{#73728}
This CL adds a Torque-counterpart for swiss_table::GroupSse2Impl in
Torque. This allows the Torque version of SwissNameDictionary to use
SSE for lookups, rather than needing to bailout to the runtime on
x64/ia32.
Bug: v8:11330
Change-Id: I74e3f97c460a8b89031016967ec0e545265016a9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787485
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73727}
Simd implementations on Power need P9 at a minimum.
Feature is enabled on the simulator regardless of the host.
Change-Id: I06bbfea11615457f5d837fe00c3dfe36b277d82b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787490
Reviewed-by: Junliang Yan <junyan@redhat.com>
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73726}
Changes:
- Wrap eqref and i31ref objects in the temporary wasm object wrapper
(in addition to dataref and anyref). Accept those types in
IsJSCompatibleSignature().
- Handle null correctly in all cases (i.e., do not wrap/unwrap it).
- Improve some error messages.
- Handle kRttWithDepth in one case where it was omitted.
- Some small structure improvements.
- Add an extensive test.
Bug: v8:7748, v8:11606
Change-Id: Ie519f2c87421664dd02cf29fe94f9a9d7510bae2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794422
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73725}
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}
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}
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}
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}
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}
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}
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}
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}