[loong64][mips64][heap, baseline] Implement shared write barrier
Port commit 805df68f56
Bug: v8:11708
Change-Id: I1a6970d18f1991e4158edb41ec5b8e393fccba4c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3855696
Auto-Submit: Liu Yu <liuyu@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/main@{#82712}
This commit is contained in:
parent
3e9f46e8b4
commit
776c95f3b7
@ -298,8 +298,9 @@ void MacroAssembler::RecordWrite(Register object, Operand offset,
|
|||||||
JumpIfSmi(value, &done);
|
JumpIfSmi(value, &done);
|
||||||
}
|
}
|
||||||
|
|
||||||
CheckPageFlag(value, MemoryChunk::kPointersToHereAreInterestingMask, eq,
|
CheckPageFlag(value,
|
||||||
&done);
|
MemoryChunk::kPointersToHereAreInterestingOrInSharedHeapMask,
|
||||||
|
eq, &done);
|
||||||
|
|
||||||
CheckPageFlag(object, MemoryChunk::kPointersFromHereAreInterestingMask, eq,
|
CheckPageFlag(object, MemoryChunk::kPointersFromHereAreInterestingMask, eq,
|
||||||
&done);
|
&done);
|
||||||
|
@ -286,7 +286,8 @@ void MacroAssembler::RecordWrite(Register object, Register address,
|
|||||||
|
|
||||||
CheckPageFlag(value,
|
CheckPageFlag(value,
|
||||||
value, // Used as scratch.
|
value, // Used as scratch.
|
||||||
MemoryChunk::kPointersToHereAreInterestingMask, eq, &done);
|
MemoryChunk::kPointersToHereAreInterestingOrInSharedHeapMask,
|
||||||
|
eq, &done);
|
||||||
CheckPageFlag(object,
|
CheckPageFlag(object,
|
||||||
value, // Used as scratch.
|
value, // Used as scratch.
|
||||||
MemoryChunk::kPointersFromHereAreInterestingMask, eq, &done);
|
MemoryChunk::kPointersFromHereAreInterestingMask, eq, &done);
|
||||||
|
Loading…
Reference in New Issue
Block a user