Commit Graph

68290 Commits

Author SHA1 Message Date
Sami Kyostila
c4ecc3591f cppgc: Fix compilation when using Perfetto
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}
2021-03-31 16:32:05 +00:00
Junliang Yan
20a6b0e290 Fix stack overflow on regress-1067270.js
Change-Id: I530bd6fc7bf6db32e209b8d180ed1dc8254e6812
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794429
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73747}
2021-03-31 16:04:34 +00:00
Leszek Swirski
e70cbb83da [string] Fix non-SeqStrings in IsEqualTo
Bug: chromium:1193903
Change-Id: I80704dd3cba5754779432356b20bd3ea99630291
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794426
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73746}
2021-03-31 15:22:35 +00:00
Frank Emrich
c9b4f3c4a7 [dict-proto] TF support for constants in dictionary mode protos, pt. 4
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}
2021-03-31 14:53:45 +00:00
Tianping Yang
d9cf7c203b [api] Expand comments on consuming cached data when compile script
Bug: v8:11607
Change-Id: If997ed1ec6a250b197ed994a6d0e6013fbec4b2b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2796911
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73744}
2021-03-31 14:30:56 +00:00
Manos Koukoutos
7702496f76 [wasm][turbofan] Only use LoadImmutable for non-tagged values
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}
2021-03-31 13:30:55 +00:00
Manos Koukoutos
f8c1c4ef44 [wasm][bug] Exit early in Delegate in case of error
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}
2021-03-31 13:22:04 +00:00
Junliang Yan
728b8d0f46 s390x: fix compilation error due to unused var
Change-Id: Ie55b1100f58f50d6361773e969ac91862e1f26fa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2797251
Reviewed-by: Milad Fa <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73741}
2021-03-31 13:10:44 +00:00
Igor Sheludko
4cd6ad9ef2 Reland "[dict-proto] SIMD support for SwissNameDictionary in Torque"
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}
2021-03-31 13:01:34 +00:00
Leszek Swirski
4baf07a769 [sparkplug] Add scratch register for arm64
We didn't have enough scratch registers for a suspend generator
whose field write offsets exceeded the immediate value range.

Bug: v8:11420, chromium:1193493
Change-Id: Iee90db4ef1ec00924bcc4791a8e6ffb9138bb388
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794424
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@{#73739}
2021-03-31 12:41:04 +00:00
Maya Lekova
e5b93c8686 [test] Skip flaky inspector test on TSAN
Skip debugger/wasm-inspect-many-registers which started failing
recently on TSAN, until it's investigated further.

Bug: v8:11610
Change-Id: Iaf2115d7cfbe82df279b3c4417c1ccd99a50b3b4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2796951
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73738}
2021-03-31 12:15:05 +00:00
Leszek Swirski
f0696b4ce9 [cache] Remove native context params from script cache
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}
2021-03-31 11:50:29 +00:00
Dominik Inführ
3a1730f302 [interpreter] Run MaybePrintAst before parking
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}
2021-03-31 11:49:24 +00:00
Peter Marshall
e07a2c35e4 Remove petermarshall from OWNERS
Bug: none
Change-Id: Ifd381c70bc50ad85c7f2367c821be876b325d0fc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2793967
Auto-Submit: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73735}
2021-03-31 11:00:22 +00:00
Maya Lekova
3f8aa89e1e Revert "[ic] Add a new MegaDOM IC"
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}
2021-03-31 09:29:15 +00:00
Sathya Gunasekaran
c83c9590ba [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}
2021-03-31 08:42:42 +00:00
v8-ci-autoroll-builder
ecc59c4e98 Update V8 DEPS.
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}
2021-03-31 03:56:52 +00:00
Adam Klein
6f766cdd95 [test] Widen regress-9017 skipping to all tsan configs
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}
2021-03-30 23:19:27 +00:00
Junliang Yan
7cbb7db789 s390x: Refactor compare swap to turbo assembler
Change-Id: Ic1c0b725e810468938f2ac6b990cade8fd4204cc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794430
Reviewed-by: Milad Fa <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73730}
2021-03-30 20:17:32 +00:00
Junliang Yan
34802532c5 s390x: [liftoff] implement AtomicLoad
Change-Id: I56728b6951940a8f0fad4934a015c798a823f578
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2795241
Reviewed-by: Milad Fa <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73729}
2021-03-30 19:24:32 +00:00
Zhi An Ng
eeb2fe592b Revert "[dict-proto] SIMD support for SwissNameDictionary in Torque"
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}
2021-03-30 19:10:15 +00:00
Igor Sheludko
856e8577e3 [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}
2021-03-30 17:53:42 +00:00
Milad Fa
eff32ae88b PPC [simd]: Add Simd as a feature to PowerPC
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}
2021-03-30 17:07:22 +00:00
Manos Koukoutos
c9063b7e86 [wasm-gc] Fix and extend JS roundtrip for gc types
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}
2021-03-30 16:09:22 +00:00
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