Commit 7c96e915 authored by Lu Yahan's avatar Lu Yahan Committed by V8 LUCI CQ

[riscv64] Fix compressed pointer load/store in baseline

Change-Id: Idee7918a06aefed54385560d19b3a471c86cbf6d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2992403Reviewed-by: 's avatarJi 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/master@{#75433}
parent 3b9a0932
......@@ -449,19 +449,15 @@ void BaselineAssembler::Pop(T... registers) {
void BaselineAssembler::LoadTaggedPointerField(Register output, Register source,
int offset) {
// FIXME(riscv64): riscv64 don't implement pointer compressed
// __ LoadTaggedPointerField(output, FieldMemOperand(source, offset));
__ Ld(output, FieldMemOperand(source, offset));
__ LoadTaggedPointerField(output, FieldMemOperand(source, offset));
}
void BaselineAssembler::LoadTaggedSignedField(Register output, Register source,
int offset) {
// FIXME(riscv64): riscv64 don't implement pointer compressed
__ Ld(output, FieldMemOperand(source, offset));
__ LoadTaggedSignedField(output, FieldMemOperand(source, offset));
}
void BaselineAssembler::LoadTaggedAnyField(Register output, Register source,
int offset) {
// FIXME(riscv64): riscv64 don't implement pointer compressed
__ Ld(output, FieldMemOperand(source, offset));
__ LoadAnyTaggedField(output, FieldMemOperand(source, offset));
}
void BaselineAssembler::LoadByteField(Register output, Register source,
int offset) {
......@@ -473,23 +469,20 @@ void BaselineAssembler::StoreTaggedSignedField(Register target, int offset,
ScratchRegisterScope temps(this);
Register tmp = temps.AcquireScratch();
__ li(tmp, Operand(value));
// FIXME(riscv64): riscv64 don't implement pointer compressed
__ Sd(tmp, FieldMemOperand(target, offset));
__ StoreTaggedField(tmp, FieldMemOperand(target, offset));
}
void BaselineAssembler::StoreTaggedFieldWithWriteBarrier(Register target,
int offset,
Register value) {
// FIXME(riscv64): riscv64 don't implement pointer compressed
ASM_CODE_COMMENT(masm_);
__ Sd(value, FieldMemOperand(target, offset));
__ StoreTaggedField(value, FieldMemOperand(target, offset));
__ RecordWriteField(target, offset, value, kRAHasNotBeenSaved,
SaveFPRegsMode::kIgnore);
}
void BaselineAssembler::StoreTaggedFieldNoWriteBarrier(Register target,
int offset,
Register value) {
// FIXME(riscv64): riscv64 don't implement pointer compressed
__ Sd(value, FieldMemOperand(target, offset));
__ StoreTaggedField(value, FieldMemOperand(target, offset));
}
void BaselineAssembler::AddToInterruptBudgetAndJumpIfNotExceeded(
......
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