PPC/s390: [heap, baseline] Implement shared write barrier for baseline compiler

Port 805df68f56

Original Commit Message:

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

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

Change-Id: I00c179ac04b74b1196951ae4d8c868d312d5a856
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3834633
Commit-Queue: Milad Farazmand <mfarazma@redhat.com>
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#82543}
This commit is contained in:
Milad Fa 2022-08-17 12:33:16 -04:00 committed by V8 LUCI CQ
parent 564c0978f4
commit 50cdbb31ff
2 changed files with 4 additions and 2 deletions

View File

@ -836,7 +836,8 @@ void MacroAssembler::RecordWrite(Register object, Register slot_address,
CheckPageFlag(value,
value, // Used as scratch.
MemoryChunk::kPointersToHereAreInterestingMask, eq, &done);
MemoryChunk::kPointersToHereAreInterestingOrInSharedHeapMask,
eq, &done);
CheckPageFlag(object,
value, // Used as scratch.
MemoryChunk::kPointersFromHereAreInterestingMask, eq, &done);

View File

@ -1071,7 +1071,8 @@ void MacroAssembler::RecordWrite(Register object, Register slot_address,
CheckPageFlag(value,
value, // Used as scratch.
MemoryChunk::kPointersToHereAreInterestingMask, eq, &done);
MemoryChunk::kPointersToHereAreInterestingOrInSharedHeapMask,
eq, &done);
CheckPageFlag(object,
value, // Used as scratch.
MemoryChunk::kPointersFromHereAreInterestingMask, eq, &done);