diff options
author | Michaël Zasso <targos@protonmail.com> | 2022-04-05 15:14:50 +0300 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2022-04-12 23:10:08 +0300 |
commit | d9d26b08efab7c17f5580bbdf78f51c17d60cd5d (patch) | |
tree | a33720c2a8564b210a3c408fd155f8e3c782928c /deps | |
parent | 64a63285056af9a8cf1e2750f420026119e6b9b0 (diff) |
deps: V8: cherry-pick 87ce4f5d98a5
Original commit message:
[ic] use CSA_DCHECK in CodeStubAssembler::SharedValueBarrier
Since the code is generated unconditionally, using a DCHECK to check
that shared RO heap is enabled breaks builds with
v8_enable_shared_ro_heap set to false, this patch turns that into a
CSA_DCHECK so it only crashes when V8 actually attempts to store into
a shared struct while the RO heap isn't shared at run time.
Refs: https://github.com/nodejs/node/pull/42115
Bug: v8:12547
Change-Id: I30d9a02b98a0b647097125c0a9d141e40d6348cc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3561598
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Joyee Cheung <joyee@igalia.com>
Cr-Commit-Position: refs/heads/main@{#79756}
Refs: https://github.com/v8/v8/commit/87ce4f5d98a5ee4e32a0545001a2d58be61a6e8d
PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Diffstat (limited to 'deps')
-rw-r--r-- | deps/v8/src/codegen/code-stub-assembler.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/deps/v8/src/codegen/code-stub-assembler.cc b/deps/v8/src/codegen/code-stub-assembler.cc index c90b644a3c1..364bfa029da 100644 --- a/deps/v8/src/codegen/code-stub-assembler.cc +++ b/deps/v8/src/codegen/code-stub-assembler.cc @@ -15953,7 +15953,7 @@ void CodeStubAssembler::SharedValueBarrier( GotoIf(TaggedIsSmi(value), &done); // Fast path: Shared memory features imply shared RO space, so RO objects are // trivially shared. - DCHECK(ReadOnlyHeap::IsReadOnlySpaceShared()); + CSA_DCHECK(this, BoolConstant(ReadOnlyHeap::IsReadOnlySpaceShared())); TNode<IntPtrT> page_flags = LoadBasicMemoryChunkFlags(CAST(value)); GotoIf(WordNotEqual(WordAnd(page_flags, IntPtrConstant(BasicMemoryChunk::READ_ONLY_HEAP)), |