| Index: src/mips/code-stubs-mips.cc
 | 
| ===================================================================
 | 
| --- src/mips/code-stubs-mips.cc	(revision 8298)
 | 
| +++ src/mips/code-stubs-mips.cc	(working copy)
 | 
| @@ -2690,37 +2690,36 @@
 | 
|      case Token::MUL:
 | 
|      case Token::DIV:
 | 
|      case Token::MOD: {
 | 
| -    // Load both operands and check that they are 32-bit integer.
 | 
| -    // Jump to type transition if they are not. The registers a0 and a1 (right
 | 
| -    // and left) are preserved for the runtime call.
 | 
| -    FloatingPointHelper::Destination destination =
 | 
| -        CpuFeatures::IsSupported(FPU) &&
 | 
| -        op_ != Token::MOD ?
 | 
| -        FloatingPointHelper::kFPURegisters :
 | 
| -        FloatingPointHelper::kCoreRegisters;
 | 
| +      // Load both operands and check that they are 32-bit integer.
 | 
| +      // Jump to type transition if they are not. The registers a0 and a1 (right
 | 
| +      // and left) are preserved for the runtime call.
 | 
| +      FloatingPointHelper::Destination destination =
 | 
| +          (CpuFeatures::IsSupported(FPU) && op_ != Token::MOD)
 | 
| +              ? FloatingPointHelper::kFPURegisters
 | 
| +              : FloatingPointHelper::kCoreRegisters;
 | 
|  
 | 
| -    FloatingPointHelper::LoadNumberAsInt32Double(masm,
 | 
| -                                                 right,
 | 
| -                                                 destination,
 | 
| -                                                 f14,
 | 
| -                                                 a2,
 | 
| -                                                 a3,
 | 
| -                                                 heap_number_map,
 | 
| -                                                 scratch1,
 | 
| -                                                 scratch2,
 | 
| -                                                 f2,
 | 
| -                                                 &transition);
 | 
| -    FloatingPointHelper::LoadNumberAsInt32Double(masm,
 | 
| -                                                 left,
 | 
| -                                                 destination,
 | 
| -                                                 f12,
 | 
| -                                                 t0,
 | 
| -                                                 t1,
 | 
| -                                                 heap_number_map,
 | 
| -                                                 scratch1,
 | 
| -                                                 scratch2,
 | 
| -                                                 f2,
 | 
| -                                                 &transition);
 | 
| +      FloatingPointHelper::LoadNumberAsInt32Double(masm,
 | 
| +                                                   right,
 | 
| +                                                   destination,
 | 
| +                                                   f14,
 | 
| +                                                   a2,
 | 
| +                                                   a3,
 | 
| +                                                   heap_number_map,
 | 
| +                                                   scratch1,
 | 
| +                                                   scratch2,
 | 
| +                                                   f2,
 | 
| +                                                   &transition);
 | 
| +      FloatingPointHelper::LoadNumberAsInt32Double(masm,
 | 
| +                                                   left,
 | 
| +                                                   destination,
 | 
| +                                                   f12,
 | 
| +                                                   t0,
 | 
| +                                                   t1,
 | 
| +                                                   heap_number_map,
 | 
| +                                                   scratch1,
 | 
| +                                                   scratch2,
 | 
| +                                                   f2,
 | 
| +                                                   &transition);
 | 
|  
 | 
|        if (destination == FloatingPointHelper::kFPURegisters) {
 | 
|          CpuFeatures::Scope scope(FPU);
 | 
| @@ -2790,8 +2789,8 @@
 | 
|            // DIV just falls through to allocating a heap number.
 | 
|          }
 | 
|  
 | 
| -        if (result_type_ >= (op_ == Token::DIV) ? BinaryOpIC::HEAP_NUMBER
 | 
| -                                                : BinaryOpIC::INT32) {
 | 
| +        if (result_type_ >= ((op_ == Token::DIV) ? BinaryOpIC::HEAP_NUMBER
 | 
| +                                                 : BinaryOpIC::INT32)) {
 | 
|            __ bind(&return_heap_number);
 | 
|            // We are using FPU registers so s0 is available.
 | 
|            heap_number_result = s0;
 | 
| 
 |