Index: runtime/vm/simulator_dbc.cc |
diff --git a/runtime/vm/simulator_dbc.cc b/runtime/vm/simulator_dbc.cc |
index c3998aff11a6ba832c47f211676d9cb4c8b44108..5161e57937117db1f3dbc0f446427c2a6249e802 100644 |
--- a/runtime/vm/simulator_dbc.cc |
+++ b/runtime/vm/simulator_dbc.cc |
@@ -2229,16 +2229,20 @@ RawObject* Simulator::Call(const Code& code, |
} |
{ |
- BYTECODE(DoubleIsNaN, A_D); |
- const double v = bit_cast<double, RawObject*>(FP[rD]); |
- FP[rA] = isnan(v) ? true_value : false_value; |
+ BYTECODE(DoubleIsNaN, A); |
+ const double v = bit_cast<double, RawObject*>(FP[rA]); |
+ if (!isnan(v)) { |
+ pc++; |
+ } |
DISPATCH(); |
} |
{ |
- BYTECODE(DoubleIsInfinite, A_D); |
- const double v = bit_cast<double, RawObject*>(FP[rD]); |
- FP[rA] = isinf(v) ? true_value : false_value; |
+ BYTECODE(DoubleIsInfinite, A); |
+ const double v = bit_cast<double, RawObject*>(FP[rA]); |
+ if (!isinf(v)) { |
+ pc++; |
+ } |
DISPATCH(); |
} |