ppc64: [baseline] Implement ToRegister

Drive-by: fix compilation error
Change-Id: I418cd6d6aaff4bf21c86db39a300bc41240c27d6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3542987
Reviewed-by: Milad Farazmand <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/main@{#79559}
This commit is contained in:
Junliang Yan 2022-03-22 14:26:02 -04:00 committed by V8 LUCI CQ
parent bd098594f7
commit 7ecaee95e3
2 changed files with 8 additions and 4 deletions

View File

@ -20,7 +20,7 @@ static constexpr int kNumScratchRegisters = arraysize(kScratchRegisters);
#ifdef DEBUG
inline bool Clobbers(Register target, MemOperand op) {
return op.rb() == target || op.rx() == target;
return op.rb() == target || op.ra() == target;
}
#endif
} // namespace detail
@ -158,8 +158,9 @@ MemOperand BaselineAssembler::RegisterFrameOperand(
}
void BaselineAssembler::RegisterFrameAddress(
interpreter::Register interpreter_register, Register rscratch) {
return __ AddS64(rscratch, fp,
interpreter_register.ToOperand() * kSystemPointerSize);
return __ AddS64(
rscratch, fp,
Operand(interpreter_register.ToOperand() * kSystemPointerSize));
}
MemOperand BaselineAssembler::FeedbackVectorOperand() {
return MemOperand(fp, BaselineFrameConstants::kFeedbackVectorFromFp);
@ -211,6 +212,7 @@ void BaselineAssembler::TestAndBranch(Register value, int mask, Condition cc,
void BaselineAssembler::JumpIf(Condition cc, Register lhs, const Operand& rhs,
Label* target, Label::Distance) {
USE(detail::JumpIfHelper);
UNIMPLEMENTED();
}
void BaselineAssembler::JumpIfObjectType(Condition cc, Register object,
@ -283,7 +285,8 @@ template <typename Arg>
inline Register ToRegister(BaselineAssembler* basm,
BaselineAssembler::ScratchRegisterScope* scope,
Arg arg) {
UNIMPLEMENTED();
Register reg = scope->AcquireScratch();
basm->Move(reg, arg);
return reg;
}
inline Register ToRegister(BaselineAssembler* basm,

View File

@ -768,6 +768,7 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase {
void Move(Register dst, ExternalReference reference);
void Move(Register dst, Register src, Condition cond = al);
void Move(DoubleRegister dst, DoubleRegister src);
void Move(Register dst, const MemOperand& src) { LoadU64(dst, src); }
void SmiUntag(Register dst, const MemOperand& src, RCBit rc = LeaveRC,
Register scratch = no_reg);