[llvmonly] Emit stubs for methods which failed compilation. (#32162)
authormonojenkins <jo.shields+jenkins@xamarin.com>
Fri, 14 Feb 2020 18:59:30 +0000 (13:59 -0500)
committerGitHub <noreply@github.com>
Fri, 14 Feb 2020 18:59:30 +0000 (10:59 -0800)
commit860fe5cba3371e99af082cb4b14c20e9ac370cc6
tree8e51f8feb424181d0c47825bad13a776e4d04a17
parent77d88f0379344f08ba32c819109c8c99c2b7fefc
[llvmonly] Emit stubs for methods which failed compilation. (#32162)

Emit a stub for methods which failed llvm compilation. Currently the stub will
throw a MissingMethodException, later it can fall back to the interpreter etc.
This is required for cross-assembly direct calls, since the caller doesn't
know that the callee has failed llvm compilation leading to missing
symbols during linking.

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
src/mono/mono/metadata/jit-icall-reg.h
src/mono/mono/mini/aot-runtime.h
src/mono/mono/mini/llvmonly-runtime.c
src/mono/mono/mini/llvmonly-runtime.h
src/mono/mono/mini/mini-llvm.c
src/mono/mono/mini/mini-runtime.c