[wasm] Exploit unallocated zero page to remove null checks in jiterpreter (#86403)
authorKatelyn Gadd <kg@luminance.org>
Wed, 31 May 2023 02:50:34 +0000 (19:50 -0700)
committerGitHub <noreply@github.com>
Wed, 31 May 2023 02:50:34 +0000 (19:50 -0700)
commit9628be4b4b4b38924ae3d051ef2c99dddbece6c0
tree4ab705fa440dae62d01ab7f57fc4ff28b122d6cb
parent4d709cd12269fcbb3d0fccfb2515541944475954
[wasm] Exploit unallocated zero page to remove null checks in jiterpreter (#86403)

* Fuse null and length checks for getelema1 and getchr
* Sense whether zero page optimizations are safe based on the location of the emscripten stack and contents of memory near zero
* Improve jiterpreter stats formatting
src/mono/mono/utils/options-def.h
src/mono/wasm/runtime/cwraps.ts
src/mono/wasm/runtime/driver.c
src/mono/wasm/runtime/jiterpreter-support.ts
src/mono/wasm/runtime/jiterpreter-trace-generator.ts
src/mono/wasm/runtime/jiterpreter.ts