Commit Graph

72135 Commits

Author SHA1 Message Date
Liu Yu
316f02f412 [mips][loong64][wasm-gc][liftoff] Reserve a stack slot for feedback
Port: 9d3c9d471f

Bug: v8:7748

Change-Id: Id2fbd5c8dd5be1ea1932f48c03657f636bfb28bd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3213351
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Auto-Submit: Liu yu <liuyu@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/main@{#77293}
2021-10-08 03:22:55 +00:00
Ng Zhi An
166dde5d2f [x64] Verify disassembly of SSE4_2 instructions
R=gdeepti@chromium.org

Bug: v8:12207
Change-Id: I3eafe4b2cf2d37fd4f8a9792fb96bf7b92a4c61b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3208456
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77292}
2021-10-08 00:13:23 +00:00
Ng Zhi An
61203cb9b7 [ia32][x64] Enable CPU feature in Assembler if supported
x64 already had logic to enable a lower CPU extension if a higher
level one was supported. Add this to ia32. And also add SSSE3->SSE3
logic.

Drive-by cleanup to remove an extra CpuFeatureScope.

Bug: v8:11154
Change-Id: I12e3aa990cc07149da213911c624468a39f4e1a3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3212811
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77291}
2021-10-07 23:12:16 +00:00
Frank Tang
fed33f904f Reland "[intl] Fix consistency in Intl API"
This is a reland of a1e6efd80c

Fix Android issue by checking the resources is not filtering out.

Original change's description:
> [intl] Fix consistency in Intl API
>
> Fix several edge cases consistency issues with ICU discovered by test262 test by
> using Intl Enumeration API
> 1. Work around ICU short coming of always fallback in currency display
>  name so when the fallback is "none" in DisplayNames, the force fallback
> code will produce the correct undefined from the of(currency_code) method.
> 2. Always check numbering system is not algorithm based numbering system
> to fix DateTimeFormat/RelativeTimeFormat/NumberFormat
> resolvedOptions().numberingSystem when the reqested numberingSystem is one
> of the numbering systems that we filter out the resources and not supported.
> 3. Generalize the iso8601 bit solution in DateTimeFormat and rename it to
> alt_calendar bit to also fix DateTimeFormat resolvedOptions report
> calendar as "islamic" while requesting "islamic-rgsa".
> 4. Work around reporting inconsistency of currency code and display name
> in ICU.
>
> Bug: v8:12209
> Change-Id: Ibd349ee55426fad7d6f20a5e93fb35ff7438e111
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3153576
> Commit-Queue: Frank Tang <ftang@chromium.org>
> Reviewed-by: Shu-yu Guo <syg@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#77242}

Bug: v8:12209
Change-Id: I96e1ba33e97f6a4abbe20e23a8fdff6cdf8bc131
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3207380
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77290}
2021-10-07 21:41:43 +00:00
Milad Fa
4413ae63df PPC/s390: [wasm-gc][liftoff] Reserve a stack slot for feedback
Port 9d3c9d471f

Original Commit Message:

    So far the slot is set to 0; in an upcoming CL it will be
    used for an actual feedback vector.

R=jkummerow@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
BUG=
LOG=N

Change-Id: Idbaa1d11fbfe81cf1106e4796c82ae6a1d6c1a11
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3212330
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/main@{#77289}
2021-10-07 17:14:39 +00:00
Maria Tîmbur
b7e3bd9d87 [fuzzer] Add support for the i8 and i16 packed types.
Add support for the i8 and i16 packed types.
Because i8 and i16 do not exist as value types
we need an i32 to instantiate a packed field.

Bug: v8:11954
Change-Id: Ib311fee537c4c9e4aed0ac366172b9b5fb1ee88e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3210267
Commit-Queue: Maria Tîmbur <mtimbur@google.com>
Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77288}
2021-10-07 15:56:00 +00:00
Jakob Kummerow
5d75bd1fdb [wasm-gc] Speculative inlining for call_ref (off by default)
This patch adds infrastructure for collecting feedback about call_ref
call targets in Liftoff code, and using that feedback for turning
such calls into inlineable direct calls when building Turbofan graphs.
The feature is considered experimental quality and hence off by default,
--wasm-speculative-inlining turns it on.

Bug: v8:7748
Change-Id: I0d0d776f8a71c3dd2c9124d3731f3cb06d4f5821
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3205902
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77287}
2021-10-07 14:56:39 +00:00
Camillo Bruni
dee82c85a3 [runtime] Mark more Context getters const
- Add Context extension slot verification
- Fix ScriptContextTable printing
- Make Context::scope_info() inlinable

Bug: chromium:1244145
Change-Id: Ide71866885f3f92de6561dfef6911ee52c6094f9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3211578
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77286}
2021-10-07 14:33:59 +00:00
Samuel Groß
18c37d3258 Add PageInitializationMode enum for the BoundedPageAllocator
Currently, when compiling with V8_VIRTUAL_MEMORY_CAGE enabled, the
behavior of the BoundedPageAllocator changes from simply making freed
pages inaccessible to decommitting them, which guarantees that they will
be zero-initialized after the next allocation. As this seems to cause
some performance regressions on Mac, this CL introduces a new enum that
specifies how the allocator should behave:
kAllocatedPagesMustBeZeroInitialized causes the pages to be decommitted
during FreePages() and ReleasePages() and thus guarantees
zero-initialization during AllocPages().
kAllocatedPagesCanBeUninitialized only causes the pages to be made
inaccessible, and so does not generally guarantee zero-initialization
for AllocPages().

Finally, this CL also removes some dead code in allocation.cc.

Bug: chromium:1257089
Change-Id: I53fa52c8913df869bee2b536efe252780d1ad893
Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3208812
Commit-Queue: Samuel Groß <saelo@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77285}
2021-10-07 12:55:39 +00:00
Jakob Gruber
6fbb8bc806 [intl] A fast path for Intl::CompareStrings
Certain collators and subject strings may take this new fast
path without calling into the (slow) ICU comparison functions.

This CL can be roughly split into three topics:
1. The fast path check, precomputed and implemented as a whitelist
   on the current locale string.
2. The actual fast path, which checks subject string eligibility
   and performs L1 and L3 collation weight comparisons all in one pass.
3. Resuming from an aborted fast-path into the generic path.

A longer overview is available at
https://docs.google.com/document/d/1oyDwjYn2JyHsx2YnJJKhjX0WMNQXb8ao86-DRzqiYNg/edit?usp=sharing

JetStream2/cdjs scores improve by roughly 40%.

Bug: v8:12196
Change-Id: I5e1bbd731a36c361af9667f9104d6fa15c42e117
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3149463
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77284}
2021-10-07 12:35:29 +00:00
v8-ci-autoroll-builder
c07776ad92 Reland "Update V8 DEPS."
This is a reland of 2ca7641f99

The tools/clang change was reverted to make sure we don't experience timeouts like
https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20CFI/8083/overview

Bug: v8:12293

Original change's description:
> Update V8 DEPS.
>
> Rolling v8/build: ebad853..c40c33e
>
> Rolling v8/buildtools/third_party/libc++abi/trunk: 9959b06..fdbb919
>
> Rolling v8/buildtools/third_party/libunwind/trunk: a002c72..15999e7
>
> Rolling v8/third_party/aemu-linux-x64: FAd7QuRV-mCjbKgg2SO4BBlRCvGIsI672THjo3tEIZAC..ekZcu3VD0XVbtKxyJwVgI96y6Sr0eYcdLkgCt6ejF0gC
>
> Rolling v8/third_party/android_platform: 7a11b79..1a68ade
>
> Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/c0b9d25..ee3f2f4
>
> Rolling v8/third_party/depot_tools: 0e2fb33..281edf7
>
> Rolling v8/third_party/googletest/src: 3b49be0..075810f
>
> Rolling v8/third_party/icu: 3f44383..4df07a2
>
> Rolling v8/third_party/zlib: dfa96e8..bffc82b
>
> Rolling v8/tools/clang: c06edd1..8640ca8
>
> Rolling v8/tools/luci-go: git_revision:a373a19da0fbbbe81b2b684e3797260294393e40..git_revision:293cb303c8d63cc435a32b2fd1e834db15bfc069
>
> Rolling v8/tools/luci-go: git_revision:a373a19da0fbbbe81b2b684e3797260294393e40..git_revision:293cb303c8d63cc435a32b2fd1e834db15bfc069
>
> Rolling v8/tools/luci-go: git_revision:a373a19da0fbbbe81b2b684e3797260294393e40..git_revision:293cb303c8d63cc435a32b2fd1e834db15bfc069
>
> TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com
>
> Change-Id: I99dbd70ee899e1d1c9fafcf72509f2f50b1ae8a5
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3210331
> Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/main@{#77275}

Change-Id: Ia209b986eea61444d768782f58d4ba9391934f3f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3211569
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77283}
2021-10-07 12:24:19 +00:00
Andreas Haas
13a96f9363 [wasm] Trigger FinishedCompilationChunk event only with dynamic tiering
R=clemensb@chromium.org

Bug: v8:12281
Change-Id: Ice1465c2656c0ffd95b6297039f40762a176ddb4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3211581
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77282}
2021-10-07 11:47:17 +00:00
Camillo Bruni
1860b816ef [d8] Rename ScriptOrModule variables
Change-Id: I2ef2314deb2384dfdca06bd46f2d3640787c2011
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3211579
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Patrick Thier <pthier@chromium.org>
Auto-Submit: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77281}
2021-10-07 11:23:09 +00:00
Lutz Vahl
79763662a8 Changed version number to 9.7
R=hablich@chromium.org, vahl@chromium.org

Change-Id: I9b30abad9500a1d89dd42f43dfe3e54fb4aed23c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3211573
Reviewed-by: Lutz Vahl <vahl@chromium.org>
Reviewed-by: Liviu Rau <liviurau@chromium.org>
Commit-Queue: Lutz Vahl <vahl@chromium.org>
Auto-Submit: Lutz Vahl <vahl@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77280}
2021-10-07 10:38:23 +00:00
Jakob Kummerow
9d3c9d471f [wasm-gc][liftoff] Reserve a stack slot for feedback
So far the slot is set to 0; in an upcoming CL it will be
used for an actual feedback vector.

Bug: v8:7748
Change-Id: I79f7502757d2cd8b07ced7105bf7532f5bc9b4f0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3205898
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77279}
2021-10-07 09:38:54 +00:00
Michael Lippautz
6123c57182 cppgc: Move incremental step on allocation to allocation observer
In addition, trigger the observer only every ~256KiB to avoid
excessive incremental marking steps on fragemented heaps that have to
set up LABs repeatedly.

Bug: v8:12285
Change-Id: Id3d85d2c3f96d9d914c731f998df827898e1863d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3208810
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77278}
2021-10-07 09:35:14 +00:00
Michael Achenbach
e10345065d Revert "Update V8 DEPS."
This reverts commit 2ca7641f99.

Reason for revert: https://crbug.com/v8/12293
https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20CFI/8083/overview

Original change's description:
> Update V8 DEPS.
>
> Rolling v8/build: ebad853..c40c33e
>
> Rolling v8/buildtools/third_party/libc++abi/trunk: 9959b06..fdbb919
>
> Rolling v8/buildtools/third_party/libunwind/trunk: a002c72..15999e7
>
> Rolling v8/third_party/aemu-linux-x64: FAd7QuRV-mCjbKgg2SO4BBlRCvGIsI672THjo3tEIZAC..ekZcu3VD0XVbtKxyJwVgI96y6Sr0eYcdLkgCt6ejF0gC
>
> Rolling v8/third_party/android_platform: 7a11b79..1a68ade
>
> Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/c0b9d25..ee3f2f4
>
> Rolling v8/third_party/depot_tools: 0e2fb33..281edf7
>
> Rolling v8/third_party/googletest/src: 3b49be0..075810f
>
> Rolling v8/third_party/icu: 3f44383..4df07a2
>
> Rolling v8/third_party/zlib: dfa96e8..bffc82b
>
> Rolling v8/tools/clang: c06edd1..8640ca8
>
> Rolling v8/tools/luci-go: git_revision:a373a19da0fbbbe81b2b684e3797260294393e40..git_revision:293cb303c8d63cc435a32b2fd1e834db15bfc069
>
> Rolling v8/tools/luci-go: git_revision:a373a19da0fbbbe81b2b684e3797260294393e40..git_revision:293cb303c8d63cc435a32b2fd1e834db15bfc069
>
> Rolling v8/tools/luci-go: git_revision:a373a19da0fbbbe81b2b684e3797260294393e40..git_revision:293cb303c8d63cc435a32b2fd1e834db15bfc069
>
> TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com
>
> Change-Id: I99dbd70ee899e1d1c9fafcf72509f2f50b1ae8a5
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3210331
> Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/main@{#77275}

Bug: v8:12293
Change-Id: Id647e0dbd0abbfd5a2c119f74f9a5c6f6c6ca22e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3211566
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#77277}
2021-10-07 07:54:16 +00:00
Samuel Groß
7436a7b72a Only use the caging ArrayBufferAllocator when the heap sandbox is on
The current implementation of the default ArrayBufferAllocator for the
virtual memory cage is highly inefficient as it simply forwards all
requests to the cage's PageAllocator. With this CL, this allocator is
now only used when the heap sandbox is enabled, in which case
ArrayBuffer backing stores must be located inside the cage. In all other
cases, in particular when only the virtual memory cage is enabled, the
backing stores can be located outside the cage and so the malloc-based
ArrayBufferAllocator is used.

This change only affects configurations in which V8's default
ArrayBufferAllocator is used.

Bug: chromium:1218005
Change-Id: I39cb5de3034ccd4b6975dc5193d8c7309857433b
Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3205018
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77276}
2021-10-07 07:30:44 +00:00
v8-ci-autoroll-builder
2ca7641f99 Update V8 DEPS.
Rolling v8/build: ebad853..c40c33e

Rolling v8/buildtools/third_party/libc++abi/trunk: 9959b06..fdbb919

Rolling v8/buildtools/third_party/libunwind/trunk: a002c72..15999e7

Rolling v8/third_party/aemu-linux-x64: FAd7QuRV-mCjbKgg2SO4BBlRCvGIsI672THjo3tEIZAC..ekZcu3VD0XVbtKxyJwVgI96y6Sr0eYcdLkgCt6ejF0gC

Rolling v8/third_party/android_platform: 7a11b79..1a68ade

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/c0b9d25..ee3f2f4

Rolling v8/third_party/depot_tools: 0e2fb33..281edf7

Rolling v8/third_party/googletest/src: 3b49be0..075810f

Rolling v8/third_party/icu: 3f44383..4df07a2

Rolling v8/third_party/zlib: dfa96e8..bffc82b

Rolling v8/tools/clang: c06edd1..8640ca8

Rolling v8/tools/luci-go: git_revision:a373a19da0fbbbe81b2b684e3797260294393e40..git_revision:293cb303c8d63cc435a32b2fd1e834db15bfc069

Rolling v8/tools/luci-go: git_revision:a373a19da0fbbbe81b2b684e3797260294393e40..git_revision:293cb303c8d63cc435a32b2fd1e834db15bfc069

Rolling v8/tools/luci-go: git_revision:a373a19da0fbbbe81b2b684e3797260294393e40..git_revision:293cb303c8d63cc435a32b2fd1e834db15bfc069

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

Change-Id: I99dbd70ee899e1d1c9fafcf72509f2f50b1ae8a5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3210331
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#77275}
2021-10-07 03:51:45 +00:00
Shu-yu Guo
7e8ac8c092 Stage Array#findLast[Index] and TypedArray#findLast[Index]
Bug: v8:11990
Change-Id: I405f6bd73812e3cbd99c9b4230f08390648022b2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3210233
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Auto-Submit: Shu-yu Guo <syg@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77274}
2021-10-07 00:31:38 +00:00
Ng Zhi An
7d1c50d1cd [x64] Verify disassembly of SSE4_1 instructions
R=gdeepti@chromium.org

Bug: v8:12207
Change-Id: Ic0d408b3c7ecf69e45a794c6c96159df2bee80e4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3180376
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77273}
2021-10-06 21:47:09 +00:00
Dominik Inführ
760e52fdef [heap] Replace IsActive() with AssertActive()
IsActive() is only supposed to be used in DCHECKs and supporting
this is going to get harder when introducing safepoints across multiple
isolates because there won't be this single counter anymore to check.
With AssertActive() we can just invoke AssertHold() on our mutex.

No functional changes.

Bug: v8:11708
Change-Id: Ic8d17738afdc90e92e6b54f615ec9757a826cc64
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3207903
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77272}
2021-10-06 20:17:28 +00:00
Igor Sheludko
c8f9853ed0 [ext-code-space] Make Heap::CreateFillerObjectAt() an instance method
... to support creation of fillers in external code space.

Bug: v8:11880
Change-Id: I47b352b8b44733c529b6b0cb2b39cf676ce83923
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3208813
Auto-Submit: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77271}
2021-10-06 20:15:28 +00:00
Frank Tang
bb500e63ff [test262] Roll test262
50dd431..61339fd2

Bug: v8:7834, v8:12288, v8:11544, v8:11989
Change-Id: Ie7c799f1c757554bd66619fe65433921d4419d52
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3206773
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77270}
2021-10-06 19:57:58 +00:00
Milad Fa
3df8a57b8c PPC/s390: [regexp][cleanup] Use 'override' instead of 'virtual'
Port 7c08633bf6

Original Commit Message:

    Replace 'virtual' by 'override' when overriding methods.
    This uncovered one method which was unnecessarily virtual:
    {RegExpMacroAssemblerARM64::CheckCharacters}.

R=clemensb@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
BUG=
LOG=N

Change-Id: I542aeae836b5b78284291ed39844a5c166ed06ad
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3208811
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/main@{#77269}
2021-10-06 19:06:08 +00:00
Dominik Inführ
8659c9c3ca [heap] Rename GlobalSafepoint to IsolateSafepoint
We are going to introduce safepoints across multiple isolates, with
this the name GlobalSafepoint might be misleading. Use IsolateSafepoint
as name to emphasise this class reaches a safepoint for a single
isolate only.

No functional changes.

Bug: v8:11708
Change-Id: I8254031dd0bc8e6dcf9f7353297803c37dba47ed
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3207901
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77268}
2021-10-06 18:39:56 +00:00
Clemens Backes
d4ac75e812 [regexp][arm64] Only unuse labels on abortion
Marking the labels as unused is only needed when we abort code
generation. Otherwise the DCHECKs in the label destructors are useful to
catch bugs.

R=jgruber@chromium.org

Bug: v8:12244
Change-Id: I63198f98a7acd1f2528d31964c01bc6815ba99a9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3205899
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77267}
2021-10-06 16:29:34 +00:00
Vasili Skurydzin
a03ed9d61b aix: Fix stack overflow error in debug mode on regress-1067270.js
Change-Id: I49a4e2f05028279cd69d3909a9ca80f4c0acb1c5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3208649
Reviewed-by: Milad Fa <mfarazma@redhat.com>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Commit-Queue: Vasili Skurydzin <vasili.skurydzin@ibm.com>
Cr-Commit-Position: refs/heads/main@{#77266}
2021-10-06 16:17:34 +00:00
Milad Fa
5f9dd79855 PPC: skip unsupported liftoff tests
Liftoff is temporarily disabled on PPC.
After https://crrev.com/c/3202593 the newly skipped tests
are failing with this error:
```
Check failed: tester.native_module()->GetCode(0)->is_liftoff()
```

Change-Id: I681a27930909fd6ac4e5087c2d03608b891a6066
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3208070
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/main@{#77265}
2021-10-06 15:23:04 +00:00
Manos Koukoutos
1ac45dd90a [wasm-gc] Optionally skip null checks
Bug: v8:7748
Change-Id: Ia277cf58a0eea431c4f19198914c1539fd03bc06
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3207898
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77264}
2021-10-06 15:12:44 +00:00
Manos Koukoutos
5889deb100 [wasm-gc] Optionally skip ref.cast type check
Bug: v8:7748
Change-Id: I5b0200560c5d77c1218142ca686c4e71c5106600
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3208027
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77263}
2021-10-06 13:50:04 +00:00
Michael Achenbach
3ad6bc44f3 Revert "Update V8 DEPS."
This reverts commit 8860a02292.

Reason for revert: https://crbug.com/v8/12292

Original change's description:
> Update V8 DEPS.
>
> Rolling v8/build: ebad853..98d97fd
>
> Rolling v8/buildtools/third_party/libc++abi/trunk: 9959b06..fd29545
>
> Rolling v8/buildtools/third_party/libunwind/trunk: a002c72..15999e7
>
> Rolling v8/third_party/aemu-linux-x64: FAd7QuRV-mCjbKgg2SO4BBlRCvGIsI672THjo3tEIZAC..3M11fN4tUefKOZExDkJbUXnPiJICCo0TwPwoejHowg8C
>
> Rolling v8/third_party/android_platform: 7a11b79..1a68ade
>
> Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/c0b9d25..4b10835
>
> Rolling v8/third_party/depot_tools: 0e2fb33..281edf7
>
> Rolling v8/third_party/googletest/src: 3b49be0..075810f
>
> Rolling v8/third_party/zlib: dfa96e8..bffc82b
>
> Rolling v8/tools/clang: c06edd1..8640ca8
>
> Rolling v8/tools/luci-go: git_revision:a373a19da0fbbbe81b2b684e3797260294393e40..git_revision:ec7a06c4fcde59629839f8e89c52a08d647e75f4
>
> Rolling v8/tools/luci-go: git_revision:a373a19da0fbbbe81b2b684e3797260294393e40..git_revision:ec7a06c4fcde59629839f8e89c52a08d647e75f4
>
> Rolling v8/tools/luci-go: git_revision:a373a19da0fbbbe81b2b684e3797260294393e40..git_revision:ec7a06c4fcde59629839f8e89c52a08d647e75f4
>
> TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com
>
> Change-Id: I007b32f3475eb71678e50dbf4efa15a88ec85ff6
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3206022
> Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/main@{#77247}

Bug: v8:12292
Change-Id: I637676d821c9687fc25ce5b42700a018364f9b7a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3207902
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#77262}
2021-10-06 13:46:27 +00:00
Camillo Bruni
87e67bb7a0 [toque] Change source position format
Use a url-like source position format for emited defnition
locations. Hopefully this will make links clickable on codesearch.

Change-Id: I343c6bc3cc4f159d5e3974d7ec5af4a578aaf03a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3207887
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77261}
2021-10-06 13:24:44 +00:00
George Wort
4ddc53d807 Reland "[arm64][wasm-simd] Use Cm(0) for integer comparison with 0"
This is a reland of 16df1dfa13

No changes have been made to this reland as previous commit was reverted
due to a new test revealing an existing bug. This bug has now been fixed.

Original change's description:
> [arm64][wasm-simd] Use Cm(0) for integer comparison with 0
>
> Use an immediate zero operand for integer comparison when possible. This
> gives ~1% runtime performance improvement in some benchmarks on Neoverse
> N1.
>
> Change-Id: I727a8104f8e6ca3d122d6b5b8b3d38d7bdd76c47
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3158327
> Reviewed-by: Zhi An Ng <zhin@chromium.org>
> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com>
> Cr-Commit-Position: refs/heads/main@{#76847}

Change-Id: I77d6923d79407a83becbd39970c6a3f62d3a304d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3178482
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Rodolph Perfetta <rodolph.perfetta@arm.com>
Cr-Commit-Position: refs/heads/main@{#77260}
2021-10-06 12:59:27 +00:00
Benedikt Meurer
17c08b82ac [inspector] Remove deprecated debug::GetStackFrameId().
This method had been marked as deprecated over a year ago and since
then only `0` on every invocation, and it's not used in Chromium
anymore.

Fixed: chromium:1246908
Change-Id: Id92a48ac6e42608b1bc023187436f57939466b2c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3208031
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77259}
2021-10-06 12:56:04 +00:00
Nico Weber
c47ae4ec4c [win] Use std::atomic_thread_fence<> instead of _ReadWriteBarrier()
_ReadWriteBarrier() is deprecated, and <atomic> has been available for
a while now.

Ports part of https://chromium-review.googlesource.com/c/chromium/src/+/2365092
to v8.

No behavior change.

Bug: chromium:1255114
Change-Id: I9954193a69dad9396a5e9e7450066382de2fb172
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3204827
Auto-Submit: Nico Weber <thakis@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77258}
2021-10-06 12:54:36 +00:00
v8-ci-autoroll-builder
5763619629 Update V8 DEPS.
Rolling v8/third_party/jinja2: 6db8da1..ee69aa0

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

Change-Id: I60faeae98fc8341d3ddd493a93a3168a13307410
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3208069
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#77257}
2021-10-06 12:36:04 +00:00
Andreas Haas
5578195db3 [wasm] Load --wasm_dynamic_tiering from the context
WebAssembly dynamic tiering should be tested with an origin trial. For
the origin trial the feature flag value has to be loaded from blink.
This CL stores the value of the --wasm-dynamic-tiering flag in the
compilation state, from where it gets passed forward to all uses of the
flag. The flag value gets loaded from blink when a new NativeModule is
created.

R=clemensb@chromium.org

Bug: v8:12281
Change-Id: Ia26355a665b7dfcdb47144863c1bec296774abb2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3204963
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77256}
2021-10-06 12:12:54 +00:00
Ng Zhi An
2a68b88401 [v8windbg] Fix narrowing conversion warning
Bug: chromium:1255096
Change-Id: I809fb4ef5eaa06975a3e24ad0a36d803aa791c32
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3206837
Auto-Submit: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77255}
2021-10-06 11:41:34 +00:00
Jakob Gruber
2dd23f7575 [regexp] Ensure regress-1255368 runs only with irregexp
The expected assertion is specific to irregexp codegen.

Bug: chromium:1255368
Change-Id: I14d033285014727de2e63582ed798fc82570497d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3207892
Auto-Submit: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77254}
2021-10-06 11:36:34 +00:00
Al Muthanna Athamina
c96733fcdd [infra] Add compile only lite-mode arm-sim builder to CQ
Bug: v8:12253
No-Try: true
Change-Id: I40d2096fb140389ac6b123506d2170e466534918
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3195712
Commit-Queue: Almothana Athamneh <almuthanna@chromium.org>
Auto-Submit: Almothana Athamneh <almuthanna@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77253}
2021-10-06 11:25:30 +00:00
Clemens Backes
7c08633bf6 [regexp][cleanup] Use 'override' instead of 'virtual'
Replace 'virtual' by 'override' when overriding methods.
This uncovered one method which was unnecessarily virtual:
{RegExpMacroAssemblerARM64::CheckCharacters}.

R=jgruber@chromium.org

Bug: v8:12244
Change-Id: Ia4480b7b234d3d40cc5821c38ef83f74f8421b6b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3204966
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77252}
2021-10-06 11:12:22 +00:00
Andreas Haas
af1b9a9333 [wasm] Introduce a caching threshold
With dynamic tiering, typically not all functions of a WebAssembly
module get compiled with TurboFan, and therefore the code caching would
never get triggered. With this CL code caching is triggered whenever
{FLAG_wasm_caching_threshold} bytes of TurboFan code are generated.

This new caching event is only triggered when --wasm-dynamic-tiering is
enabled.

R=clemensb@chromium.org

Bug: v8:12281
Change-Id: I939325aea7e4310aa76c936636799661c05d4079
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3202593
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77251}
2021-10-06 10:30:13 +00:00
Clemens Backes
bab8254c32 [regexp][arm] Fix regexp assembler abortion
When aborting code generation, we need to call {AbortedCodeGeneration}
on the {MacroAssembler} contained in the {RegExpMacroAssemblerARM}.

R=jgruber@chromium.org

Bug: chromium:1255368
Change-Id: If37351e8f5715e23affd21ad2de8a8eaad3ea094
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3204965
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77250}
2021-10-06 10:02:13 +00:00
Jakob Kummerow
b1de783724 [csa] Add GetCodeEntry function
Mirroring Code::entry and CodeDataContainer::code_entry_point.
Unused for now; will be used very soon.

Change-Id: I93b86f0c601a044bb4e6afea642d5d3f721ef73a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3205893
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77249}
2021-10-06 09:46:14 +00:00
Hao Xu
b1b5cddab9 [sparkplug][x64] Enable short builtin calls in x64 when pointer compression is disabled
Allocate code range close to binary (<2GB) when pointer compression is
disabled. And enable short builtin calls if it succeeds.

Bug: v8:12045, v8:11527
Change-Id: I1a9d635b243337980fd75883d9802bc0cee75e43
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3069457
Commit-Queue: Hao A Xu <hao.a.xu@intel.com>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77248}
2021-10-06 09:04:43 +00:00
v8-ci-autoroll-builder
8860a02292 Update V8 DEPS.
Rolling v8/build: ebad853..98d97fd

Rolling v8/buildtools/third_party/libc++abi/trunk: 9959b06..fd29545

Rolling v8/buildtools/third_party/libunwind/trunk: a002c72..15999e7

Rolling v8/third_party/aemu-linux-x64: FAd7QuRV-mCjbKgg2SO4BBlRCvGIsI672THjo3tEIZAC..3M11fN4tUefKOZExDkJbUXnPiJICCo0TwPwoejHowg8C

Rolling v8/third_party/android_platform: 7a11b79..1a68ade

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/c0b9d25..4b10835

Rolling v8/third_party/depot_tools: 0e2fb33..281edf7

Rolling v8/third_party/googletest/src: 3b49be0..075810f

Rolling v8/third_party/zlib: dfa96e8..bffc82b

Rolling v8/tools/clang: c06edd1..8640ca8

Rolling v8/tools/luci-go: git_revision:a373a19da0fbbbe81b2b684e3797260294393e40..git_revision:ec7a06c4fcde59629839f8e89c52a08d647e75f4

Rolling v8/tools/luci-go: git_revision:a373a19da0fbbbe81b2b684e3797260294393e40..git_revision:ec7a06c4fcde59629839f8e89c52a08d647e75f4

Rolling v8/tools/luci-go: git_revision:a373a19da0fbbbe81b2b684e3797260294393e40..git_revision:ec7a06c4fcde59629839f8e89c52a08d647e75f4

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

Change-Id: I007b32f3475eb71678e50dbf4efa15a88ec85ff6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3206022
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#77247}
2021-10-06 08:57:04 +00:00
Frank Tang
34f278b8e4 Revert "[intl] Fix consistency in Intl API"
This reverts commit a1e6efd80c.

Reason for revert: Break Arm64

Original change's description:
> [intl] Fix consistency in Intl API
>
> Fix several edge cases consistency issues with ICU discovered by test262 test by
> using Intl Enumeration API
> 1. Work around ICU short coming of always fallback in currency display
>  name so when the fallback is "none" in DisplayNames, the force fallback
> code will produce the correct undefined from the of(currency_code) method.
> 2. Always check numbering system is not algorithm based numbering system
> to fix DateTimeFormat/RelativeTimeFormat/NumberFormat
> resolvedOptions().numberingSystem when the reqested numberingSystem is one
> of the numbering systems that we filter out the resources and not supported.
> 3. Generalize the iso8601 bit solution in DateTimeFormat and rename it to
> alt_calendar bit to also fix DateTimeFormat resolvedOptions report
> calendar as "islamic" while requesting "islamic-rgsa".
> 4. Work around reporting inconsistency of currency code and display name
> in ICU.
>
> Bug: v8:12209
> Change-Id: Ibd349ee55426fad7d6f20a5e93fb35ff7438e111
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3153576
> Commit-Queue: Frank Tang <ftang@chromium.org>
> Reviewed-by: Shu-yu Guo <syg@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#77242}

Bug: v8:12209
Change-Id: I6b8ac7dc89eda158e29c9d653825cb20a89341aa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3207379
Reviewed-by: Frank Tang <ftang@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#77246}
2021-10-06 08:51:02 +00:00
Seth Brenith
9e0140d612 [torque] Continue past error when return type is missing
Bug: v8:7793
Change-Id: I1d5f85921f06e22679053cc7b2fe0a1371562048
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3206270
Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77245}
2021-10-06 08:50:03 +00:00
Igor Sheludko
41a5a247d9 [ext-code-space] Introduce MapWord::ToForwardingAddress(...)
... capable of computing the forwarding pointer for objects allocated
outside of the main pointer compression cage.

Drive-by: hoist computation of pointer compression cage base out of
certain loops in GC code.

Bug: v8:11880
Change-Id: I23efdffd1a237d9eedd0e2975e8e40811417ef31
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3204968
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77244}
2021-10-06 08:47:45 +00:00