Bug 1091828 - Fix MacroAssemblerMIPS::ma_callIonHalfPush(Label *label). r=rankov
authorAleksandar Zlicic <aleksandar.zlicic@imgtec.com>
Thu, 30 Oct 2014 21:06:56 +0100
changeset 213378 197ee4437e4880cee06f7b5279b3efd2c111f1ee
parent 213377 16763aca768a0e556ed8399fbf69ac98b54af922
child 213379 301694366e2055d1ed27bdcd34d7fae3c8a4b4c8
push id27748
push userryanvm@gmail.com
push dateFri, 31 Oct 2014 20:14:33 +0000
treeherdermozilla-central@12ac66e2c016 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersrankov
bugs1091828
milestone36.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 1091828 - Fix MacroAssemblerMIPS::ma_callIonHalfPush(Label *label). r=rankov
js/src/jit/mips/MacroAssembler-mips.cpp
--- a/js/src/jit/mips/MacroAssembler-mips.cpp
+++ b/js/src/jit/mips/MacroAssembler-mips.cpp
@@ -3115,18 +3115,18 @@ MacroAssemblerMIPS::ma_callIonHalfPush(c
 
 // This macrosintruction calls the ion code and pushes the return address to
 // the stack in the case when stack is not alligned.
 void
 MacroAssemblerMIPS::ma_callIonHalfPush(Label *label)
 {
     // This is a MIPS hack to push return address during jalr delay slot.
     as_addiu(StackPointer, StackPointer, -sizeof(intptr_t));
-    // TODO
-    // TODO
+    ma_bal(label, DontFillDelaySlot);
+    as_sw(ra, StackPointer, 0);
 }
 
 void
 MacroAssemblerMIPS::ma_call(ImmPtr dest)
 {
     ma_liPatchable(CallReg, dest);
     as_jalr(CallReg);
     as_nop();