Skip to content

Commit

Permalink
[ic] use CSA_DCHECK in CodeStubAssembler::SharedValueBarrier
Browse files Browse the repository at this point in the history
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: nodejs/node#42115
Bug: v8:12547
Change-Id: I30d9a02b98a0b647097125c0a9d141e40d6348cc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3561598
Reviewed-by: Shu-yu Guo <[email protected]>
Reviewed-by: Leszek Swirski <[email protected]>
Commit-Queue: Joyee Cheung <[email protected]>
Cr-Commit-Position: refs/heads/main@{#79756}
  • Loading branch information
joyeecheung authored and kangwoosukeq committed Apr 28, 2022
1 parent cb3715f commit 35fd981
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/codegen/code-stub-assembler.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15960,7 +15960,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)),
Expand Down

0 comments on commit 35fd981

Please sign in to comment.