[mono][wasm] Fix the usage of function pointers in mixed mode. (#54098)
authorZoltan Varga <vargaz@gmail.com>
Wed, 16 Jun 2021 09:52:37 +0000 (05:52 -0400)
committerGitHub <noreply@github.com>
Wed, 16 Jun 2021 09:52:37 +0000 (05:52 -0400)
commit5fd027c9ef11c4b053259db43c09a3c91abef769
treec3ed0a5a32f4ed8101e45406cb61e0c503be8d77
parent9c992697d66e98702513638bedac7a1788e8e83e
[mono][wasm] Fix the usage of function pointers in mixed mode. (#54098)

* [mono][wasm] Fix the usage of function pointers in mixed mode.

The llvm compiled code expects function pointers to be a MonoFtnDesc*, while
the interpreter expects them to be a InterpMethod*. Use a MonoFtnDesc in
both cases.

* Reenable some tests.

* Add caching.
src/libraries/System.Text.Encodings.Web/tests/TextEncoderSettingsTests.cs
src/mono/mono/metadata/icall.c
src/mono/mono/metadata/object-internals.h
src/mono/mono/mini/interp/interp-internals.h
src/mono/mono/mini/interp/interp.c
src/mono/mono/mini/interp/mintops.def
src/mono/mono/mini/interp/transform.c
src/mono/mono/mini/llvmonly-runtime.c
src/mono/mono/mini/method-to-ir.c
src/mono/mono/mini/mini-runtime.c
src/mono/mono/mini/mini.h