Commit 94a954de authored by Dominik Inführ's avatar Dominik Inführ Committed by V8 LUCI CQ

[heap, maglev] Add shared barrier for Maglev generated code

Maglev write barrier needs to use different page flag mask to also
call into the slow path of the barrier for old-to-shared pointers.

Bug: v8:11708
Change-Id: I9ff5ead0517e9682672452f9868b16fa0dd94be2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3834256Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
Auto-Submit: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: 's avatarVictor Gomes <victorgomes@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#82549}
parent d5f29b92
......@@ -1581,9 +1581,10 @@ void StoreTaggedFieldWithWriteBarrier::GenerateCode(
StoreTaggedFieldWithWriteBarrier* node) {
ASM_CODE_COMMENT_STRING(code_gen_state->masm(),
"Write barrier slow path");
__ CheckPageFlag(value, kScratchRegister,
MemoryChunk::kPointersToHereAreInterestingMask, zero,
return_label);
__ CheckPageFlag(
value, kScratchRegister,
MemoryChunk::kPointersToHereAreInterestingOrInSharedHeapMask, zero,
return_label);
Register slot_reg = WriteBarrierDescriptor::SlotAddressRegister();
RegList saved;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment