Bug 1202138 - IonMonkey: MIPS32: Fix callAndPushReturnAddress with Label. r=nbp
authorHeiher [:hev] <r@hev.cc>
Mon, 07 Sep 2015 06:29:00 +0200
changeset 293897 1af3c0789763f9ef2fb4af848b73c8ecb6a571de
parent 293896 44acf95a79fdb26f9ba25038eb5568434fe19efb
child 293898 2bb231870f2d4ac66fea59f40e8d3e893816803c
push id5245
push userraliiev@mozilla.com
push dateThu, 29 Oct 2015 11:30:51 +0000
treeherdermozilla-beta@dac831dc1bd0 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersnbp
bugs1202138
milestone43.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1202138 - IonMonkey: MIPS32: Fix callAndPushReturnAddress with Label. r=nbp
js/src/jit/mips32/MacroAssembler-mips32.cpp
--- a/js/src/jit/mips32/MacroAssembler-mips32.cpp
+++ b/js/src/jit/mips32/MacroAssembler-mips32.cpp
@@ -3453,19 +3453,19 @@ MacroAssembler::callAndPushReturnAddress
     as_addiu(StackPointer, StackPointer, -sizeof(intptr_t));
     as_jalr(callee);
     as_sw(ra, StackPointer, 0);
 }
 
 void
 MacroAssembler::callAndPushReturnAddress(Label* label)
 {
-    // Push return address during jalr delay slot.
+    // Push return address during bal delay slot.
     as_addiu(StackPointer, StackPointer, -sizeof(intptr_t));
-    as_jalr(label);
+    ma_bal(label, DontFillDelaySlot);
     as_sw(ra, StackPointer, 0);
 }
 
 // ===============================================================
 // ABI function calls.
 
 void
 MacroAssembler::setupUnalignedABICall(Register scratch)