| 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();
|
| }
|
|
|
|
|