[wasm] Reimplement jiterpreter float-to-int conversions (#81923)
authorKatelyn Gadd <kg@luminance.org>
Fri, 10 Feb 2023 16:24:45 +0000 (08:24 -0800)
committerGitHub <noreply@github.com>
Fri, 10 Feb 2023 16:24:45 +0000 (08:24 -0800)
commitab7f510ee8bac42b60c02e9d01a78e7f78ffa79b
tree71926124524d979cde2f283b806fbf33ae728a51
parent7802c395bfa00fdfaf81086dc24aed4cc88e4473
[wasm] Reimplement jiterpreter float-to-int conversions (#81923)

Reimplement float-to-int conversions in the jiterpreter by generating a series of conditional checks that match what clang does, in order to work around the wasm conversion opcode being unspecified for nan/inf.
Fix bug in jiterpreter instrumentation that would suppress the dumped module blob and error message if an unhandled error occurred while generating a block.
Fixes #81900
src/mono/mono/mini/interp/jiterpreter.c
src/mono/wasm/runtime/cwraps.ts
src/mono/wasm/runtime/jiterpreter-support.ts
src/mono/wasm/runtime/jiterpreter-trace-generator.ts
src/mono/wasm/runtime/jiterpreter.ts