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 #ifdef DEBUG
inline bool Clobbers(Register target, MemOperand op) { inline bool Clobbers(Register target, MemOperand op) {
return op.rb() == target || op.rx() == target; return op.rb() == target || op.ra() == target;
} }
#endif #endif
} // namespace detail } // namespace detail
@ -158,8 +158,9 @@ MemOperand BaselineAssembler::RegisterFrameOperand(
} }
void BaselineAssembler::RegisterFrameAddress( void BaselineAssembler::RegisterFrameAddress(
interpreter::Register interpreter_register, Register rscratch) { interpreter::Register interpreter_register, Register rscratch) {
return __ AddS64(rscratch, fp, return __ AddS64(
interpreter_register.ToOperand() * kSystemPointerSize); rscratch, fp,
Operand(interpreter_register.ToOperand() * kSystemPointerSize));
} }
MemOperand BaselineAssembler::FeedbackVectorOperand() { MemOperand BaselineAssembler::FeedbackVectorOperand() {
return MemOperand(fp, BaselineFrameConstants::kFeedbackVectorFromFp); 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, void BaselineAssembler::JumpIf(Condition cc, Register lhs, const Operand& rhs,
Label* target, Label::Distance) { Label* target, Label::Distance) {
USE(detail::JumpIfHelper);
UNIMPLEMENTED(); UNIMPLEMENTED();
} }
void BaselineAssembler::JumpIfObjectType(Condition cc, Register object, void BaselineAssembler::JumpIfObjectType(Condition cc, Register object,
@ -283,7 +285,8 @@ template <typename Arg>
inline Register ToRegister(BaselineAssembler* basm, inline Register ToRegister(BaselineAssembler* basm,
BaselineAssembler::ScratchRegisterScope* scope, BaselineAssembler::ScratchRegisterScope* scope,
Arg arg) { Arg arg) {
UNIMPLEMENTED(); Register reg = scope->AcquireScratch();
basm->Move(reg, arg);
return reg; return reg;
} }
inline Register ToRegister(BaselineAssembler* basm, 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, ExternalReference reference);
void Move(Register dst, Register src, Condition cond = al); void Move(Register dst, Register src, Condition cond = al);
void Move(DoubleRegister dst, DoubleRegister src); 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, void SmiUntag(Register dst, const MemOperand& src, RCBit rc = LeaveRC,
Register scratch = no_reg); Register scratch = no_reg);