Various WASM AOT changes (#62997)
* [mono] Add a mono_dummy_jit_icall_val () icall.
This can be used to trace values from AOT code during runtime
debugging.
* [mono] Avoid adding a try clause to vector alloc wrappers.
Previously, a try-catch clause was added to the vector Alloc
wrappers to convert the OverflowException thrown by the .ovf
opcodes to an OutOfMemoryException. This could cause EH problems on wasm
since on wasm no AOTed code should contain clauses, but this
wrapper was still AOTed for performance reasons.
Instead, add a new CIL opcode to make the .ovf opcodes throw the
OutOfMemoryException directly.
* Disable inline rgctx fetch in mono_decompose_vtype_opts () as well.
It can't handle the new bblocks added by the inline rgctx fetch code.
* [mono] Factor out the slow path of Array.Copy () into a separate method.
The slowpath contained a try-catch clause, preventing Array.Copy () from
being AOTed on WASM.
* [mono] Fix assigning a name to LLVM Alloca instructions.
* Add a V=1 makefile option to wasm/Makefile.
* Add a WasmAotProfilePath build property.
17 files changed: