Bug 1053764 - IonMonkey MIPS: Fix params to addOutOfLineCode. r=kvijayan
authorBranislav Rankov <branislav.rankov@imgtec.com>
Thu, 14 Aug 2014 16:18:35 +0200
changeset 200256 2a8bff1b8b1d3b3fd89d8cbbb6a1279451c4b3a5
parent 200255 3fe332bf3dcb01cc4c6a178f85d8cb3ade887265
child 200257 32628ddca30c9e8a39be492a787bfa5a6e50825d
push id47858
push userbranislav.rankov@rt-rk.com
push dateTue, 19 Aug 2014 12:17:34 +0000
treeherdermozilla-inbound@32628ddca30c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskvijayan
bugs1053764
milestone34.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 1053764 - IonMonkey MIPS: Fix params to addOutOfLineCode. r=kvijayan
js/src/jit/mips/CodeGenerator-mips.cpp
--- a/js/src/jit/mips/CodeGenerator-mips.cpp
+++ b/js/src/jit/mips/CodeGenerator-mips.cpp
@@ -192,18 +192,19 @@ CodeGeneratorMIPS::bailoutFrom(Label *la
 
     // Though the assembler doesn't track all frame pushes, at least make sure
     // the known value makes sense. We can't use bailout tables if the stack
     // isn't properly aligned to the static frame size.
     MOZ_ASSERT_IF(frameClass_ != FrameSizeClass::None(),
                   frameClass_.frameSize() == masm.framePushed());
 
     // We don't use table bailouts because retargeting is easier this way.
+    InlineScriptTree *tree = snapshot->mir()->block()->trackedTree();
     OutOfLineBailout *ool = new(alloc()) OutOfLineBailout(snapshot, masm.framePushed());
-    if (!addOutOfLineCode(ool)) {
+    if (!addOutOfLineCode(ool, BytecodeSite(tree, tree->script()->code()))) {
         return false;
     }
 
     masm.retarget(label, ool->entry());
 
     return true;
 }
 
@@ -1013,17 +1014,17 @@ CodeGeneratorMIPS::emitTableSwitchDispat
     // Jump to default case if input is out of range
     int32_t cases = mir->numCases();
     masm.branchPtr(Assembler::AboveOrEqual, index, ImmWord(cases), defaultcase);
 
     // To fill in the CodeLabels for the case entries, we need to first
     // generate the case entries (we don't yet know their offsets in the
     // instruction stream).
     OutOfLineTableSwitch *ool = new(alloc()) OutOfLineTableSwitch(mir);
-    if (!addOutOfLineCode(ool))
+    if (!addOutOfLineCode(ool, mir))
         return false;
 
     // Compute the position where a pointer to the right case stands.
     masm.ma_li(address, ool->jumpLabel()->dest());
     masm.lshiftPtr(Imm32(4), index);
     masm.addPtr(index, address);
 
     masm.branch(address);