Index: src/s390/code-stubs-s390.cc |
diff --git a/src/s390/code-stubs-s390.cc b/src/s390/code-stubs-s390.cc |
index 75cb25114dfc1cebe3efae1835e7ba7b2ae60c0e..de80cfa675c7ef0be5627fc2b1b5a2f9e2f9887c 100644 |
--- a/src/s390/code-stubs-s390.cc |
+++ b/src/s390/code-stubs-s390.cc |
@@ -1715,9 +1715,11 @@ static void CallStubInRecordCallTarget(MacroAssembler* masm, CodeStub* stub) { |
// Number-of-arguments register must be smi-tagged to call out. |
__ SmiTag(r2); |
__ Push(r5, r4, r3, r2); |
+ __ Push(cp); |
__ CallStub(stub); |
+ __ Pop(cp); |
__ Pop(r5, r4, r3, r2); |
__ SmiUntag(r2); |
} |
@@ -2021,9 +2023,9 @@ void CallICStub::Generate(MacroAssembler* masm) { |
{ |
FrameScope scope(masm, StackFrame::INTERNAL); |
CreateWeakCellStub create_stub(masm->isolate()); |
- __ Push(r3); |
+ __ Push(cp, r3); |
__ CallStub(&create_stub); |
- __ Pop(r3); |
+ __ Pop(cp, r3); |
} |
__ b(&call_function); |