[loong64][mips64][heap] Add shared barrier to RecordWrite builtin
Port commit c5d4812196
Bug: v8:11708
Change-Id: Ia50968a169d6b13370f65d5e5fb84a8794cfe216
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3835322
Auto-Submit: Liu Yu <liuyu@loongson.cn>
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/main@{#82510}
This commit is contained in:
parent
c7c9f1c364
commit
5182e6f12a
@ -159,8 +159,9 @@ class OutOfLineRecordWrite final : public OutOfLineCode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Generate() final {
|
void Generate() final {
|
||||||
__ CheckPageFlag(value_, MemoryChunk::kPointersToHereAreInterestingMask, eq,
|
__ CheckPageFlag(
|
||||||
exit());
|
value_, MemoryChunk::kPointersToHereAreInterestingOrInSharedHeapMask,
|
||||||
|
eq, exit());
|
||||||
SaveFPRegsMode const save_fp_mode = frame()->DidAllocateDoubleRegisters()
|
SaveFPRegsMode const save_fp_mode = frame()->DidAllocateDoubleRegisters()
|
||||||
? SaveFPRegsMode::kSave
|
? SaveFPRegsMode::kSave
|
||||||
: SaveFPRegsMode::kIgnore;
|
: SaveFPRegsMode::kIgnore;
|
||||||
|
@ -162,9 +162,10 @@ class OutOfLineRecordWrite final : public OutOfLineCode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Generate() final {
|
void Generate() final {
|
||||||
__ CheckPageFlag(value_, scratch0_,
|
__ CheckPageFlag(
|
||||||
MemoryChunk::kPointersToHereAreInterestingMask, eq,
|
value_, scratch0_,
|
||||||
exit());
|
MemoryChunk::kPointersToHereAreInterestingOrInSharedHeapMask, eq,
|
||||||
|
exit());
|
||||||
__ Daddu(scratch1_, object_, index_);
|
__ Daddu(scratch1_, object_, index_);
|
||||||
SaveFPRegsMode const save_fp_mode = frame()->DidAllocateDoubleRegisters()
|
SaveFPRegsMode const save_fp_mode = frame()->DidAllocateDoubleRegisters()
|
||||||
? SaveFPRegsMode::kSave
|
? SaveFPRegsMode::kSave
|
||||||
|
Loading…
Reference in New Issue
Block a user