Commit 7ecaee95 authored by Junliang Yan's avatar Junliang Yan Committed by V8 LUCI CQ

ppc64: [baseline] Implement ToRegister

Drive-by: fix compilation error
Change-Id: I418cd6d6aaff4bf21c86db39a300bc41240c27d6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3542987Reviewed-by: 's avatarMilad Farazmand <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/main@{#79559}
parent bd098594
...@@ -20,7 +20,7 @@ static constexpr int kNumScratchRegisters = arraysize(kScratchRegisters); ...@@ -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( ...@@ -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, ...@@ -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> ...@@ -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,
......
...@@ -768,6 +768,7 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase { ...@@ -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);
......
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