[riscv64] Fix builad failed

Change-Id: Id9820ec6f21a08a5437bc847d7199e12f1daedf0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2992391
Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
Commit-Queue: Ji Qiu <qiuji@iscas.ac.cn>
Reviewed-by: Ji Qiu <qiuji@iscas.ac.cn>
Cr-Commit-Position: refs/heads/master@{#75402}
This commit is contained in:
Lu Yahan 2021-06-28 10:39:47 +08:00 committed by V8 LUCI CQ
parent a445397610
commit b62539fc16
3 changed files with 22 additions and 7 deletions

View File

@ -535,7 +535,7 @@ void BaselineAssembler::AddToInterruptBudgetAndJumpIfNotExceeded(
}
void BaselineAssembler::AddSmi(Register lhs, Smi rhs) {
ASM_CODE_COMMENT(&masm_);
ASM_CODE_COMMENT(masm_);
if (SmiValuesAre31Bits()) {
__ Add32(lhs, lhs, Operand(rhs));
} else {

View File

@ -1165,23 +1165,22 @@ void Builtins::Generate_BaselineOutOfLinePrologue(MacroAssembler* masm) {
}
Label call_stack_guard;
Register frame_size = descriptor.GetRegisterParameter(
BaselineOutOfLinePrologueDescriptor::kStackFrameSize);
{
ASM_CODE_COMMENT_STRING(masm, "Stack/interrupt check")
ASM_CODE_COMMENT_STRING(masm, "Stack/interrupt check");
// Stack check. This folds the checks for both the interrupt stack limit
// check and the real stack limit into one by just checking for the
// interrupt limit. The interrupt limit is either equal to the real stack
// limit or tighter. By ensuring we have space until that limit after
// building the frame we can quickly precheck both at once.
UseScratchRegisterScope temps(masm);
Register frame_size = temps.Acquire();
__ Ld(frame_size,
FieldMemOperand(bytecodeArray, BytecodeArray::kFrameSizeOffset));
Register sp_minus_frame_size = frame_size;
Register sp_minus_frame_size = temps.Acquire();
__ Sub64(sp_minus_frame_size, sp, frame_size);
Register interrupt_limit = temps.Acquire();
__ LoadStackLimit(interrupt_limit,
MacroAssembler::StackLimitKind::kInterruptStackLimit);
__ BranchShort(&call_stack_guard, Uless, sp_minus_frame_size,
__ Branch(&call_stack_guard, Uless, sp_minus_frame_size,
Operand(interrupt_limit));
}

View File

@ -2828,6 +2828,22 @@ void LiftoffAssembler::DeallocateStackSlot(uint32_t size) {
void LiftoffAssembler::MaybeOSR() {}
void LiftoffAssembler::emit_set_if_nan(Register dst, FPURegister src,
ValueKind kind) {
UseScratchRegisterScope temps(this);
Register scratch = temps.Acquire();
li(scratch, 1);
if (kind == kF32) {
feq_s(scratch, src, src); // rd <- !isNan(src)
} else {
DCHECK_EQ(kind, kF64);
feq_d(scratch, src, src); // rd <- !isNan(src)
}
not_(scratch, scratch);
Sd(scratch, MemOperand(dst));
}
void LiftoffStackSlots::Construct(int param_slots) {
DCHECK_LT(0, slots_.size());
SortInPushOrder();