ppc64: [baseline] preserve code_obj reg before C call

Change-Id: I78ef9bf817f32b8f2b96092ed9f77f223b2aa381
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3702975
Reviewed-by: Milad Farazmand <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/main@{#81160}
This commit is contained in:
Junliang Yan 2022-06-14 11:18:54 -04:00 committed by V8 LUCI CQ
parent bc3ef8026e
commit a31c6b95d9

View File

@ -212,6 +212,7 @@ void Generate_BaselineOrInterpreterEntry(MacroAssembler* masm,
MemOperand(fp, InterpreterFrameConstants::kBytecodeArrayFromFp));
// Save the accumulator register, since it's clobbered by the below call.
__ Push(kInterpreterAccumulatorRegister);
__ Push(code_obj);
{
Register arg_reg_1 = r3;
Register arg_reg_2 = r4;
@ -223,6 +224,7 @@ void Generate_BaselineOrInterpreterEntry(MacroAssembler* masm,
__ PrepareCallCFunction(4, 0, ip);
__ CallCFunction(get_baseline_pc, 3, 0);
}
__ Pop(code_obj);
__ AddS64(code_obj, code_obj, kReturnRegister0);
__ Pop(kInterpreterAccumulatorRegister);