Bug 1093628 - IonMonkey MIPS: Fix scratch usage in store macro instructions. r=jandem
authorBranislav Rankov <branislav.rankov@imgtec.com>
Mon, 01 Dec 2014 14:57:17 +0100
changeset 218259 6dea67b71cf25fbb367455f322e7c867daa03251
parent 218258 051ae2716d4661ced877822d121a6979bc83b1bb
child 218260 1b87e75119839c47d4d398cae04233e2b0927c34
push id27925
push usercbook@mozilla.com
push dateWed, 03 Dec 2014 12:32:33 +0000
treeherdermozilla-central@59b7bf5d119d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjandem
bugs1093628
milestone37.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 1093628 - IonMonkey MIPS: Fix scratch usage in store macro instructions. r=jandem
js/src/jit/mips/MacroAssembler-mips.cpp
--- a/js/src/jit/mips/MacroAssembler-mips.cpp
+++ b/js/src/jit/mips/MacroAssembler-mips.cpp
@@ -2028,18 +2028,18 @@ void
 MacroAssemblerMIPSCompat::store32(Register src, const Address &address)
 {
     storePtr(src, address);
 }
 
 void
 MacroAssemblerMIPSCompat::store32(Imm32 src, const Address &address)
 {
-    move32(src, ScratchRegister);
-    storePtr(ScratchRegister, address);
+    move32(src, SecondScratchReg);
+    storePtr(SecondScratchReg, address);
 }
 
 void
 MacroAssemblerMIPSCompat::store32(Imm32 imm, const BaseIndex &dest)
 {
     ma_store(imm, dest, SizeWord);
 }
 
@@ -2048,18 +2048,18 @@ MacroAssemblerMIPSCompat::store32(Regist
 {
     ma_store(src, dest, SizeWord);
 }
 
 template <typename T>
 void
 MacroAssemblerMIPSCompat::storePtr(ImmWord imm, T address)
 {
-    ma_li(ScratchRegister, Imm32(imm.value));
-    ma_sw(ScratchRegister, address);
+    ma_li(SecondScratchReg, Imm32(imm.value));
+    ma_sw(SecondScratchReg, address);
 }
 
 template void MacroAssemblerMIPSCompat::storePtr<Address>(ImmWord imm, Address address);
 template void MacroAssemblerMIPSCompat::storePtr<BaseIndex>(ImmWord imm, BaseIndex address);
 
 template <typename T>
 void
 MacroAssemblerMIPSCompat::storePtr(ImmPtr imm, T address)
@@ -2069,18 +2069,18 @@ MacroAssemblerMIPSCompat::storePtr(ImmPt
 
 template void MacroAssemblerMIPSCompat::storePtr<Address>(ImmPtr imm, Address address);
 template void MacroAssemblerMIPSCompat::storePtr<BaseIndex>(ImmPtr imm, BaseIndex address);
 
 template <typename T>
 void
 MacroAssemblerMIPSCompat::storePtr(ImmGCPtr imm, T address)
 {
-    ma_li(ScratchRegister, imm);
-    ma_sw(ScratchRegister, address);
+    ma_li(SecondScratchReg, imm);
+    ma_sw(SecondScratchReg, address);
 }
 
 template void MacroAssemblerMIPSCompat::storePtr<Address>(ImmGCPtr imm, Address address);
 template void MacroAssemblerMIPSCompat::storePtr<BaseIndex>(ImmGCPtr imm, BaseIndex address);
 
 void
 MacroAssemblerMIPSCompat::storePtr(Register src, const Address &address)
 {