[llvmonly] Refactor llvmonly runtime support code by moving it to a separate file...
commit09f3c2b8e12c5ea836271b2612ffc9f19c57e8ed
authorZoltan Varga <vargaz@gmail.com>
Thu, 17 Jan 2019 18:16:36 +0000 (17 13:16 -0500)
committerGitHub <noreply@github.com>
Thu, 17 Jan 2019 18:16:36 +0000 (17 13:16 -0500)
tree886f47cd81a5deb1c6a213c20791faa26d750684
parentd864752ea0637c9bd9960c63d47e22681bb28354
[llvmonly] Refactor llvmonly runtime support code by moving it to a separate file. (#12436)

* [llvmonly] Move all runtime support code to a new llvmonly-runtime.c file.

* [llvmonly] Make mini_init_delegate () work in mixed mode, it needs to initialize both the interp and the llvmonly related data.

* [llvmonly] Implement EH support in mixed mode.

On interp->native transitions, add a try-catch. On native->interp transitions, rethrow the exception using a c++ throw.

* [llvmonly] Unify function naming, name all llvmonly runtime functions mini_llvmonly_.

* Fix a build failure.

* Fix windows build.

* Fix an aot failure.

* Fix the EH changes.
23 files changed:
mono/mini/Makefile.am.in
mono/mini/aot-compiler.c
mono/mini/aot-runtime.h
mono/mini/calls.c
mono/mini/interp/interp.c
mono/mini/jit-icalls.c
mono/mini/jit-icalls.h
mono/mini/llvm-runtime.cpp
mono/mini/llvm-runtime.h
mono/mini/llvmonly-runtime.c [new file with mode: 0644]
mono/mini/llvmonly-runtime.h [new file with mode: 0644]
mono/mini/method-to-ir.c
mono/mini/mini-exceptions.c
mono/mini/mini-generic-sharing.c
mono/mini/mini-runtime.c
mono/mini/mini-runtime.h
mono/mini/mini-trampolines.c
mono/mini/mini.c
mono/mini/mini.h
mono/tests/llvmonly-mixed/interponly.cs
mono/tests/llvmonly-mixed/tests.cs
msvc/libmini-common.targets
msvc/libmini-common.targets.filters