Commit 443b9de1 authored by Ivica Bogosavljevic's avatar Ivica Bogosavljevic Committed by Commit Bot

MIPS: Fix `[builtins] Introduce further constant & external reference indirections`

Temporary register at was rewritten. We use different register.

Change-Id: If3a162765ee29eb1d03d3f29345328cf79244e41
Reviewed-on: https://chromium-review.googlesource.com/1032616Reviewed-by: 's avatarSreten Kovacevic <sreten.kovacevic@mips.com>
Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com>
Cr-Commit-Position: refs/heads/master@{#52843}
parent f8597b25
...@@ -3782,10 +3782,8 @@ void TurboAssembler::Jump(Handle<Code> code, RelocInfo::Mode rmode, ...@@ -3782,10 +3782,8 @@ void TurboAssembler::Jump(Handle<Code> code, RelocInfo::Mode rmode,
DCHECK(RelocInfo::IsCodeTarget(rmode)); DCHECK(RelocInfo::IsCodeTarget(rmode));
#ifdef V8_EMBEDDED_BUILTINS #ifdef V8_EMBEDDED_BUILTINS
if (root_array_available_ && isolate()->ShouldLoadConstantsFromRootList()) { if (root_array_available_ && isolate()->ShouldLoadConstantsFromRootList()) {
UseScratchRegisterScope temps(this); LookupConstant(t9, code);
Register scratch = temps.Acquire(); Jump(t9, Code::kHeaderSize - kHeapObjectTag, cond, rs, rt, bd);
LookupConstant(scratch, code);
Jump(scratch, Code::kHeaderSize - kHeapObjectTag, cond, rs, rt, bd);
return; return;
} }
#endif // V8_EMBEDDED_BUILTINS #endif // V8_EMBEDDED_BUILTINS
...@@ -3942,10 +3940,8 @@ void TurboAssembler::Call(Handle<Code> code, RelocInfo::Mode rmode, ...@@ -3942,10 +3940,8 @@ void TurboAssembler::Call(Handle<Code> code, RelocInfo::Mode rmode,
BlockTrampolinePoolScope block_trampoline_pool(this); BlockTrampolinePoolScope block_trampoline_pool(this);
#ifdef V8_EMBEDDED_BUILTINS #ifdef V8_EMBEDDED_BUILTINS
if (root_array_available_ && isolate()->ShouldLoadConstantsFromRootList()) { if (root_array_available_ && isolate()->ShouldLoadConstantsFromRootList()) {
UseScratchRegisterScope temps(this); LookupConstant(t9, code);
Register scratch = temps.Acquire(); Call(t9, Code::kHeaderSize - kHeapObjectTag, cond, rs, rt, bd);
LookupConstant(scratch, code);
Call(scratch, Code::kHeaderSize - kHeapObjectTag, cond, rs, rt, bd);
return; return;
} }
#endif // V8_EMBEDDED_BUILTINS #endif // V8_EMBEDDED_BUILTINS
......
...@@ -4212,11 +4212,9 @@ void TurboAssembler::Jump(Handle<Code> code, RelocInfo::Mode rmode, ...@@ -4212,11 +4212,9 @@ void TurboAssembler::Jump(Handle<Code> code, RelocInfo::Mode rmode,
DCHECK(RelocInfo::IsCodeTarget(rmode)); DCHECK(RelocInfo::IsCodeTarget(rmode));
#ifdef V8_EMBEDDED_BUILTINS #ifdef V8_EMBEDDED_BUILTINS
if (root_array_available_ && isolate()->ShouldLoadConstantsFromRootList()) { if (root_array_available_ && isolate()->ShouldLoadConstantsFromRootList()) {
UseScratchRegisterScope temps(this); LookupConstant(t9, code);
Register scratch = temps.Acquire(); Daddu(t9, t9, Operand(Code::kHeaderSize - kHeapObjectTag));
LookupConstant(scratch, code); Jump(t9, cond, rs, rt, bd);
Daddu(scratch, scratch, Operand(Code::kHeaderSize - kHeapObjectTag));
Jump(scratch, cond, rs, rt, bd);
return; return;
} }
#endif // V8_EMBEDDED_BUILTINS #endif // V8_EMBEDDED_BUILTINS
...@@ -4305,11 +4303,9 @@ void TurboAssembler::Call(Handle<Code> code, RelocInfo::Mode rmode, ...@@ -4305,11 +4303,9 @@ void TurboAssembler::Call(Handle<Code> code, RelocInfo::Mode rmode,
BlockTrampolinePoolScope block_trampoline_pool(this); BlockTrampolinePoolScope block_trampoline_pool(this);
#ifdef V8_EMBEDDED_BUILTINS #ifdef V8_EMBEDDED_BUILTINS
if (root_array_available_ && isolate()->ShouldLoadConstantsFromRootList()) { if (root_array_available_ && isolate()->ShouldLoadConstantsFromRootList()) {
UseScratchRegisterScope temps(this); LookupConstant(t9, code);
Register scratch = temps.Acquire(); Daddu(t9, t9, Operand(Code::kHeaderSize - kHeapObjectTag));
LookupConstant(scratch, code); Call(t9, cond, rs, rt, bd);
Daddu(scratch, scratch, Operand(Code::kHeaderSize - kHeapObjectTag));
Call(scratch, cond, rs, rt, bd);
return; return;
} }
#endif // V8_EMBEDDED_BUILTINS #endif // V8_EMBEDDED_BUILTINS
......
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