[wasm] More accurate jiterpreter cfg size estimation; generate smaller dispatch table...
authorKatelyn Gadd <kg@luminance.org>
Thu, 23 Mar 2023 03:52:33 +0000 (20:52 -0700)
committerGitHub <noreply@github.com>
Thu, 23 Mar 2023 03:52:33 +0000 (20:52 -0700)
commit1e241c0044042409b8567c5ab9a72b7525ad128a
tree82d7d8a0e535d7a57616b0908041d5a288a752d5
parent10abc299cc62376043cac6db7a962bb8991b4626
[wasm] More accurate jiterpreter cfg size estimation; generate smaller dispatch tables (#83759)

* More accurate cfg size estimation
* Generate smaller dispatch tables for traces with backward branches
* Make sure we never actually can dispatch to the unreachable entries in the back branch table
* If we somehow generate a module bigger than 4KB, don't try to compile it. Just log a warning
* Better cfg logging for failed branches
* Add a separate runtime option that controls whether trace monitoring will print to the log
src/mono/mono/mini/interp/jiterpreter.c
src/mono/mono/utils/options-def.h
src/mono/wasm/runtime/jiterpreter-support.ts
src/mono/wasm/runtime/jiterpreter-trace-generator.ts
src/mono/wasm/runtime/jiterpreter.ts