diff options
Diffstat (limited to 'src/wasm.h')
-rw-r--r-- | src/wasm.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/wasm.h b/src/wasm.h index cb137747f..e3724c612 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -213,6 +213,10 @@ struct Literal { o << "nan:" << std::hex << u.ll << std::dec; return; } + if (!std::isfinite(d)) { + o << (d < 0 ? "-infinity" : "infinity"); + return; + } const char *text = cashew::JSPrinter::numToString(d); // spec interpreter hates floats starting with '.' if (text[0] == '.') { @@ -734,7 +738,7 @@ public: case ConvertSInt64: o << "convert_s/i64"; break; case PromoteFloat32: o << "promote/f32"; break; case DemoteFloat64: o << "demote/f64"; break; - case ReinterpretInt: o << "reinterpret" << (type == f64 ? "i64" : "i32"); break; + case ReinterpretInt: o << "reinterpret/" << (type == f64 ? "i64" : "i32"); break; default: abort(); } incIndent(o, indent); |