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

ppc: [liftoff] implement a few Load functions

Change-Id: Ia709a1c578d05d722690c57ae44019bda4eb8d5d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2918213
Auto-Submit: Junliang Yan <junyan@redhat.com>
Reviewed-by: 's avatarMilad Fa <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#74768}
parent 8f021a42
......@@ -226,6 +226,9 @@ MemOperand::MemOperand(Register rn, int32_t offset)
MemOperand::MemOperand(Register ra, Register rb)
: ra_(ra), offset_(0), rb_(rb) {}
MemOperand::MemOperand(Register ra, Register rb, int32_t offset)
: ra_(ra), offset_(offset), rb_(rb) {}
void Assembler::AllocateAndInstallRequestedHeapObjects(Isolate* isolate) {
DCHECK_IMPLIES(isolate == nullptr, heap_object_requests_.empty());
for (auto& request : heap_object_requests_) {
......
......@@ -136,6 +136,8 @@ class V8_EXPORT_PRIVATE MemOperand {
explicit MemOperand(Register ra, Register rb);
explicit MemOperand(Register ra, Register rb, int32_t offset);
int32_t offset() const { return offset_; }
// PowerPC - base register
......
......@@ -185,29 +185,29 @@ void LiftoffAssembler::LoadFromInstance(Register dst, Register instance,
void LiftoffAssembler::LoadTaggedPointerFromInstance(Register dst,
Register instance,
int offset) {
bailout(kUnsupportedArchitecture, "LoadTaggedPointerFromInstance");
LoadTaggedPointerField(dst, MemOperand(instance, offset), r0);
}
void LiftoffAssembler::SpillInstance(Register instance) {
bailout(kUnsupportedArchitecture, "SpillInstance");
StoreU64(instance, liftoff::GetInstanceOperand(), r0);
}
void LiftoffAssembler::ResetOSRTarget() {}
void LiftoffAssembler::FillInstanceInto(Register dst) {
bailout(kUnsupportedArchitecture, "FillInstanceInto");
LoadU64(dst, liftoff::GetInstanceOperand(), r0);
}
void LiftoffAssembler::LoadTaggedPointer(Register dst, Register src_addr,
Register offset_reg,
int32_t offset_imm,
LiftoffRegList pinned) {
bailout(kUnsupportedArchitecture, "LoadTaggedPointer");
LoadTaggedPointerField(dst, MemOperand(src_addr, offset_reg, offset_imm), r0);
}
void LiftoffAssembler::LoadFullPointer(Register dst, Register src_addr,
int32_t offset_imm) {
bailout(kUnsupportedArchitecture, "LoadFullPointer");
LoadU64(dst, MemOperand(src_addr, offset_imm), r0);
}
void LiftoffAssembler::StoreTaggedPointer(Register dst_addr,
......
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