PPC/s390: fix Generate_DeserializeLazy to use ip for tail call

Fix lazy deserialization. ip needs to be the address of the calling
function

R=joransiu@ca.ibm.com, jbarboza@ca.ibm.com, michael_dawson@ca.ibm.com

Bug: 
Change-Id: I0852d12328f9a0585c38afa5e121b8b4116520dc
Reviewed-on: https://chromium-review.googlesource.com/726420
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#48704}
This commit is contained in:
Junliang Yan 2017-10-18 14:06:00 -04:00 committed by Commit Bot
parent f4063610cd
commit 3e48c30a07
2 changed files with 4 additions and 2 deletions

View File

@ -1433,7 +1433,8 @@ void Builtins::Generate_DeserializeLazy(MacroAssembler* masm) {
__ addi(target_builtin, target_builtin, __ addi(target_builtin, target_builtin,
Operand(Code::kHeaderSize - kHeapObjectTag)); Operand(Code::kHeaderSize - kHeapObjectTag));
__ Jump(target_builtin); __ mr(ip, target_builtin);
__ Jump(ip);
} }
__ bind(&deserialize_in_runtime); __ bind(&deserialize_in_runtime);

View File

@ -1429,7 +1429,8 @@ void Builtins::Generate_DeserializeLazy(MacroAssembler* masm) {
__ AddP(target_builtin, target_builtin, __ AddP(target_builtin, target_builtin,
Operand(Code::kHeaderSize - kHeapObjectTag)); Operand(Code::kHeaderSize - kHeapObjectTag));
__ Jump(target_builtin); __ LoadRR(ip, target_builtin);
__ Jump(ip);
} }
__ bind(&deserialize_in_runtime); __ bind(&deserialize_in_runtime);