| Index: runtime/vm/intermediate_language_mips.cc | 
| =================================================================== | 
| --- runtime/vm/intermediate_language_mips.cc	(revision 35712) | 
| +++ runtime/vm/intermediate_language_mips.cc	(working copy) | 
| @@ -3512,8 +3512,7 @@ | 
|  | 
|  | 
| LocationSummary* MathUnaryInstr::MakeLocationSummary(bool opt) const { | 
| -  if ((kind() == MethodRecognizer::kMathSin) || | 
| -      (kind() == MethodRecognizer::kMathCos)) { | 
| +  if ((kind() == MathUnaryInstr::kSin) || (kind() == MathUnaryInstr::kCos)) { | 
| const intptr_t kNumInputs = 1; | 
| const intptr_t kNumTemps = 0; | 
| LocationSummary* summary = | 
| @@ -3522,6 +3521,8 @@ | 
| summary->set_out(0, Location::FpuRegisterLocation(D0)); | 
| return summary; | 
| } | 
| +  ASSERT((kind() == MathUnaryInstr::kSqrt) || | 
| +         (kind() == MathUnaryInstr::kDoubleSquare)); | 
| const intptr_t kNumInputs = 1; | 
| const intptr_t kNumTemps = 0; | 
| LocationSummary* summary = | 
| @@ -3533,8 +3534,12 @@ | 
|  | 
|  | 
| void MathUnaryInstr::EmitNativeCode(FlowGraphCompiler* compiler) { | 
| -  if (kind() == MethodRecognizer::kMathSqrt) { | 
| +  if (kind() == MathUnaryInstr::kSqrt) { | 
| __ sqrtd(locs()->out(0).fpu_reg(), locs()->in(0).fpu_reg()); | 
| +  } else if (kind() == MathUnaryInstr::kDoubleSquare) { | 
| +    DRegister val = locs()->in(0).fpu_reg(); | 
| +    DRegister result = locs()->out(0).fpu_reg(); | 
| +    __ muld(result, val, val); | 
| } else { | 
| __ CallRuntime(TargetFunction(), InputCount()); | 
| } | 
|  |