Commit 77840c50 authored by Junliang Yan's avatar Junliang Yan Committed by Commit Bot

s390x: [liftoff] implement instance access

Change-Id: I46d7d6e876351ddd75224090d9645877d1cb244b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2627868Reviewed-by: 's avatarMilad Fa <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#72081}
parent 8df5142c
......@@ -175,19 +175,28 @@ void LiftoffAssembler::LoadConstant(LiftoffRegister reg, WasmValue value,
}
void LiftoffAssembler::LoadFromInstance(Register dst, int offset, int size) {
bailout(kUnsupportedArchitecture, "LoadFromInstance");
DCHECK_LE(offset, kMaxInt);
LoadU64(dst, liftoff::GetInstanceOperand());
DCHECK(size == 4 || size == 8);
if (size == 4) {
LoadS32(dst, MemOperand(dst, offset));
} else {
LoadU64(dst, MemOperand(dst, offset));
}
}
void LiftoffAssembler::LoadTaggedPointerFromInstance(Register dst, int offset) {
bailout(kUnsupportedArchitecture, "LoadTaggedPointerFromInstance");
DCHECK_LE(0, offset);
LoadU64(dst, liftoff::GetInstanceOperand());
LoadTaggedPointerField(dst, MemOperand(dst, offset));
}
void LiftoffAssembler::SpillInstance(Register instance) {
bailout(kUnsupportedArchitecture, "SpillInstance");
StoreU64(instance, liftoff::GetInstanceOperand());
}
void LiftoffAssembler::FillInstanceInto(Register dst) {
bailout(kUnsupportedArchitecture, "FillInstanceInto");
LoadU64(dst, liftoff::GetInstanceOperand());
}
void LiftoffAssembler::LoadTaggedPointer(Register dst, Register src_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