| Index: src/mips/assembler-mips.cc
 | 
| diff --git a/src/mips/assembler-mips.cc b/src/mips/assembler-mips.cc
 | 
| index b659559fee09126803fe17512ff77845eb74b3f9..3f855d03e9b944f85b24a6cbd24d16058cd203ce 100644
 | 
| --- a/src/mips/assembler-mips.cc
 | 
| +++ b/src/mips/assembler-mips.cc
 | 
| @@ -1655,10 +1655,12 @@ void Assembler::lwc1(FPURegister fd, const MemOperand& src) {
 | 
|  void Assembler::ldc1(FPURegister fd, const MemOperand& src) {
 | 
|    // Workaround for non-8-byte alignment of HeapNumber, convert 64-bit
 | 
|    // load to two 32-bit loads.
 | 
| -  GenInstrImmediate(LWC1, src.rm(), fd, src.offset_);
 | 
| +  GenInstrImmediate(LWC1, src.rm(), fd, src.offset_ +
 | 
| +      Register::kMantissaOffset);
 | 
|    FPURegister nextfpreg;
 | 
|    nextfpreg.setcode(fd.code() + 1);
 | 
| -  GenInstrImmediate(LWC1, src.rm(), nextfpreg, src.offset_ + 4);
 | 
| +  GenInstrImmediate(LWC1, src.rm(), nextfpreg, src.offset_ +
 | 
| +      Register::kExponentOffset);
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -1670,10 +1672,12 @@ void Assembler::swc1(FPURegister fd, const MemOperand& src) {
 | 
|  void Assembler::sdc1(FPURegister fd, const MemOperand& src) {
 | 
|    // Workaround for non-8-byte alignment of HeapNumber, convert 64-bit
 | 
|    // store to two 32-bit stores.
 | 
| -  GenInstrImmediate(SWC1, src.rm(), fd, src.offset_);
 | 
| +  GenInstrImmediate(SWC1, src.rm(), fd, src.offset_ +
 | 
| +      Register::kMantissaOffset);
 | 
|    FPURegister nextfpreg;
 | 
|    nextfpreg.setcode(fd.code() + 1);
 | 
| -  GenInstrImmediate(SWC1, src.rm(), nextfpreg, src.offset_ + 4);
 | 
| +  GenInstrImmediate(SWC1, src.rm(), nextfpreg, src.offset_ +
 | 
| +      Register::kExponentOffset);
 | 
|  }
 | 
|  
 | 
|  
 | 
| 
 |