From a402abe0c6fdfab3cb4ab19083105d70e653be48 Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Wed, 26 Apr 2017 00:13:37 +0200 Subject: [PATCH] [interp] let JIT handle native2managed wrappers, but hack around dynamic methods --- mono/mini/interp/interp.c | 6 +++++- mono/tests/Makefile.am | 5 ----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/mono/mini/interp/interp.c b/mono/mini/interp/interp.c index 72240de860c..619c3a659e6 100644 --- a/mono/mini/interp/interp.c +++ b/mono/mini/interp/interp.c @@ -1903,9 +1903,13 @@ mono_interp_create_method_pointer (MonoMethod *method, MonoError *error) MonoMethod *wrapper; RuntimeMethod *rmethod; - if (method->wrapper_type && method->wrapper_type != MONO_WRAPPER_RUNTIME_INVOKE) + if (method->wrapper_type && method->wrapper_type == MONO_WRAPPER_NATIVE_TO_MANAGED) return NULL; + /* HACK: method_ptr of delegate should point to a runtime method*/ + if (method->wrapper_type && method->wrapper_type == MONO_WRAPPER_DYNAMIC_METHOD) + return mono_interp_get_runtime_method (mono_domain_get (), method, error); + rmethod = mono_interp_get_runtime_method (mono_domain_get (), method, error); if (rmethod->jit_entry) return rmethod->jit_entry; diff --git a/mono/tests/Makefile.am b/mono/tests/Makefile.am index abdbce8bd9d..275711ed37c 100644 --- a/mono/tests/Makefile.am +++ b/mono/tests/Makefile.am @@ -1046,8 +1046,6 @@ INTERP_DISABLED_TESTS = \ call_missing_method.exe \ calliGenericTest.exe \ cominterop.exe \ - constant-division.exe \ - context-static.exe \ cross-domain.exe \ delegate-async-exit.exe \ delegate-delegate-exit.exe \ @@ -1058,9 +1056,6 @@ INTERP_DISABLED_TESTS = \ delegate5.exe \ delegate8.exe \ delegate9.exe \ - dynamic-method-access.2.exe \ - dynamic-method-finalize.2.exe \ - dynamic-method-resurrection.exe \ dynamic-method-stack-traces.exe \ even-odd.exe \ exception18.exe \ -- 2.25.1