diff --git a/js/src/jit/mips/MacroAssembler-mips.cpp b/js/src/jit/mips/MacroAssembler-mips.cpp index 853a832ef8a7..b30f2a7d1c28 100644 --- a/js/src/jit/mips/MacroAssembler-mips.cpp +++ b/js/src/jit/mips/MacroAssembler-mips.cpp @@ -50,6 +50,13 @@ MacroAssemblerMIPS::convertInt32ToDouble(const Address& src, FloatRegister dest) as_cvtdw(dest, dest); } +void +MacroAssemblerMIPS::convertInt32ToDouble(const BaseIndex& src, FloatRegister dest) +{ + computeScaledAddress(src, SecondScratchReg); + convertInt32ToDouble(Address(SecondScratchReg, src.offset), dest); +} + void MacroAssemblerMIPS::convertUInt32ToDouble(Register src, FloatRegister dest) { diff --git a/js/src/jit/mips/MacroAssembler-mips.h b/js/src/jit/mips/MacroAssembler-mips.h index c639fd8775f0..7c959b154ab9 100644 --- a/js/src/jit/mips/MacroAssembler-mips.h +++ b/js/src/jit/mips/MacroAssembler-mips.h @@ -84,6 +84,7 @@ class MacroAssemblerMIPS : public Assembler void convertBoolToInt32(Register source, Register dest); void convertInt32ToDouble(Register src, FloatRegister dest); void convertInt32ToDouble(const Address& src, FloatRegister dest); + void convertInt32ToDouble(const BaseIndex& src, FloatRegister dest); void convertUInt32ToDouble(Register src, FloatRegister dest); void convertUInt32ToFloat32(Register src, FloatRegister dest); void convertDoubleToFloat32(FloatRegister src, FloatRegister dest);