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

ppc: [liftoff] implement StoreCallerFrameSlot

Change-Id: I36000eaafd18b9eca8d302d977ad8e2f1205af35
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2989137
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@{#75397}
parent 2ee47960
......@@ -485,7 +485,39 @@ void LiftoffAssembler::LoadCallerFrameSlot(LiftoffRegister dst,
void LiftoffAssembler::StoreCallerFrameSlot(LiftoffRegister src,
uint32_t caller_slot_idx,
ValueKind kind) {
bailout(kUnsupportedArchitecture, "StoreCallerFrameSlot");
int32_t offset = (caller_slot_idx + 1) * kSystemPointerSize;
switch (kind) {
case kI32: {
#if defined(V8_TARGET_BIG_ENDIAN)
StoreU32(src.gp(), MemOperand(fp, offset + 4), r0);
break;
#else
StoreU32(src.gp(), MemOperand(fp, offset), r0);
break;
#endif
}
case kRef:
case kRtt:
case kOptRef:
case kI64: {
StoreU64(src.gp(), MemOperand(fp, offset), r0);
break;
}
case kF32: {
StoreF32(src.fp(), MemOperand(fp, offset), r0);
break;
}
case kF64: {
StoreF64(src.fp(), MemOperand(fp, offset), r0);
break;
}
case kS128: {
bailout(kSimd, "simd load");
break;
}
default:
UNREACHABLE();
}
}
void LiftoffAssembler::LoadReturnStackSlot(LiftoffRegister dst, int offset,
......
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