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

ppc64: avoid using callee save reg

Change-Id: I62f4d7fae09ab529756d106e77bb9bd8b3b239a3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3644850
Commit-Queue: Junliang Yan <junyan@redhat.com>
Reviewed-by: 's avatarMilad Farazmand <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/main@{#80489}
parent 24226735
...@@ -1399,7 +1399,7 @@ void Builtins::Generate_BaselineOutOfLinePrologue(MacroAssembler* masm) { ...@@ -1399,7 +1399,7 @@ void Builtins::Generate_BaselineOutOfLinePrologue(MacroAssembler* masm) {
// Increment invocation count for the function. // Increment invocation count for the function.
{ {
Register invocation_count = r13; Register invocation_count = r11;
__ LoadU64(invocation_count, __ LoadU64(invocation_count,
FieldMemOperand(feedback_vector, FieldMemOperand(feedback_vector,
FeedbackVector::kInvocationCountOffset), FeedbackVector::kInvocationCountOffset),
...@@ -1432,14 +1432,14 @@ void Builtins::Generate_BaselineOutOfLinePrologue(MacroAssembler* masm) { ...@@ -1432,14 +1432,14 @@ void Builtins::Generate_BaselineOutOfLinePrologue(MacroAssembler* masm) {
// the frame, so load it into a register. // the frame, so load it into a register.
Register bytecodeArray = descriptor.GetRegisterParameter( Register bytecodeArray = descriptor.GetRegisterParameter(
BaselineOutOfLinePrologueDescriptor::kInterpreterBytecodeArray); BaselineOutOfLinePrologueDescriptor::kInterpreterBytecodeArray);
ResetBytecodeAge(masm, bytecodeArray, r13); ResetBytecodeAge(masm, bytecodeArray, r11);
__ Push(argc, bytecodeArray); __ Push(argc, bytecodeArray);
// Baseline code frames store the feedback vector where interpreter would // Baseline code frames store the feedback vector where interpreter would
// store the bytecode offset. // store the bytecode offset.
if (FLAG_debug_code) { if (FLAG_debug_code) {
Register scratch = r13; Register scratch = r11;
__ CompareObjectType(feedback_vector, scratch, scratch, __ CompareObjectType(feedback_vector, scratch, scratch,
FEEDBACK_VECTOR_TYPE); FEEDBACK_VECTOR_TYPE);
__ Assert(eq, AbortReason::kExpectedFeedbackVector); __ Assert(eq, AbortReason::kExpectedFeedbackVector);
...@@ -1458,7 +1458,7 @@ void Builtins::Generate_BaselineOutOfLinePrologue(MacroAssembler* masm) { ...@@ -1458,7 +1458,7 @@ void Builtins::Generate_BaselineOutOfLinePrologue(MacroAssembler* masm) {
// limit or tighter. By ensuring we have space until that limit after // limit or tighter. By ensuring we have space until that limit after
// building the frame we can quickly precheck both at once. // building the frame we can quickly precheck both at once.
Register sp_minus_frame_size = r13; Register sp_minus_frame_size = r11;
Register interrupt_limit = r0; Register interrupt_limit = r0;
__ SubS64(sp_minus_frame_size, sp, frame_size); __ SubS64(sp_minus_frame_size, sp, frame_size);
__ LoadStackLimit(interrupt_limit, StackLimitKind::kInterruptStackLimit); __ LoadStackLimit(interrupt_limit, StackLimitKind::kInterruptStackLimit);
......
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