[wasm] Jiterpreter monitoring phase take 2 (#83489)
authorKatelyn Gadd <kg@luminance.org>
Tue, 21 Mar 2023 20:47:40 +0000 (13:47 -0700)
committerGitHub <noreply@github.com>
Tue, 21 Mar 2023 20:47:40 +0000 (13:47 -0700)
commit2ea628872ce5512c5437a25641cf538aaaeff9f2
treebfe4637d21a273daf2ea52e5cecedc143990c223
parent6047cdcf7a48c0c3941be91ff79db29f44897ab4
[wasm] Jiterpreter monitoring phase take 2 (#83489)

* Add a monitoring phase to jiterpreter traces, that monitors an approximate number of opcodes executed before specific types of bailouts.
If a trace bails out frequently without executing enough opcodes, it will be rejected and turned into a nop to improve performance.
* Fix assert when running out of TraceInfo space
src/mono/mono/mini/interp/interp.c
src/mono/mono/mini/interp/jiterpreter.c
src/mono/mono/mini/interp/jiterpreter.h
src/mono/mono/mini/interp/mintops.def
src/mono/mono/utils/options-def.h
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