Skip to content

Commit 77599ff

Browse files
luyahanV8 LUCI CQ
authored andcommitted
[riscv64] Add block before LoadAddress
fix node.js DCHECK failed issue: riscv-collab#514 Change-Id: I07f40e6aca05be3eb7304a43235185fd40ebc1f2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3260979 Reviewed-by: ji qiu <qiuji@iscas.ac.cn> Commit-Queue: ji qiu <qiuji@iscas.ac.cn> Auto-Submit: Yahan Lu <yahan@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#77750}
1 parent 057ffb8 commit 77599ff

File tree

2 files changed

+2
-0
lines changed

2 files changed

+2
-0
lines changed

src/baseline/riscv64/baseline-assembler-riscv64-inl.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -437,6 +437,7 @@ void BaselineAssembler::Switch(Register reg, int case_value_base,
437437
CHECK(is_int32(imm64 + 0x800));
438438
int32_t Hi20 = (((int32_t)imm64 + 0x800) >> 12);
439439
int32_t Lo12 = (int32_t)imm64 << 20 >> 20;
440+
__ BlockTrampolinePoolFor(2);
440441
__ auipc(t6, Hi20); // Read PC + Hi20 into t6
441442
__ addi(t6, t6, Lo12); // jump PC + Hi20 + Lo12
442443

src/codegen/riscv64/macro-assembler-riscv64.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3543,6 +3543,7 @@ void TurboAssembler::LoadAddress(Register dst, Label* target,
35433543
CHECK(is_int32(offset + 0x800));
35443544
int32_t Hi20 = (((int32_t)offset + 0x800) >> 12);
35453545
int32_t Lo12 = (int32_t)offset << 20 >> 20;
3546+
BlockTrampolinePoolScope block_trampoline_pool(this);
35463547
auipc(dst, Hi20);
35473548
addi(dst, dst, Lo12);
35483549
} else {

0 commit comments

Comments
 (0)