From: monojenkins Date: Tue, 28 Jul 2020 02:00:48 +0000 (-0400) Subject: [wasm] Use interp-only instead of interp-llvmonly as the default execution mode.... X-Git-Tag: submit/tizen/20210909.063632~6396 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2ad46cdeca74a2c3f451cfe31c19ee9ada0edd41;p=platform%2Fupstream%2Fdotnet%2Fruntime.git [wasm] Use interp-only instead of interp-llvmonly as the default execution mode. (#39880) interp-llvmonly caused mono_llvm_only to be set, causing bad behavior like stack walks not working. Co-authored-by: vargaz --- diff --git a/src/mono/mono/mini/driver.c b/src/mono/mono/mini/driver.c index 322a23c..aa72d2a 100644 --- a/src/mono/mono/mini/driver.c +++ b/src/mono/mono/mini/driver.c @@ -2006,10 +2006,6 @@ apply_root_domain_configuration_file_bindings (MonoDomain *domain, char *root_do static void mono_check_interp_supported (void) { -#ifdef DISABLE_INTERPRETER - g_error ("Mono IL interpreter support is missing\n"); -#endif - #ifdef MONO_CROSS_COMPILE g_error ("--interpreter on cross-compile runtimes not supported\n"); #endif @@ -2999,7 +2995,7 @@ mono_runtime_set_execution_mode_full (int mode, gboolean override) mono_llvm_only = TRUE; break; - case MONO_EE_MODE_INTERP: + case MONO_AOT_MODE_INTERP_ONLY: mono_check_interp_supported (); mono_use_interpreter = TRUE; diff --git a/src/mono/mono/mini/jit.h b/src/mono/mono/mini/jit.h index 011792c..02639c9 100644 --- a/src/mono/mono/mini/jit.h +++ b/src/mono/mono/mini/jit.h @@ -65,6 +65,8 @@ typedef enum { MONO_AOT_MODE_INTERP_LLVMONLY, /* Use only llvm compiled code, fall back to the interpeter */ MONO_AOT_MODE_LLVMONLY_INTERP, + /* Same as --interp */ + MONO_AOT_MODE_INTERP_ONLY, /* Sentinel value used internally by the runtime. We use a large number to avoid clashing with some internal values. */ MONO_AOT_MODE_LAST = 1000, } MonoAotMode; diff --git a/src/mono/mono/mini/mini-runtime.h b/src/mono/mono/mini/mini-runtime.h index 971d9a5..7061283 100644 --- a/src/mono/mono/mini/mini-runtime.h +++ b/src/mono/mono/mini/mini-runtime.h @@ -411,11 +411,9 @@ extern MonoEEFeatures mono_ee_features; //XXX this enum *MUST extend MonoAotMode as they are consumed together. typedef enum { - /* Always execute with interp, will use JIT to produce trampolines */ - MONO_EE_MODE_INTERP = MONO_AOT_MODE_LAST, + MONO_EE_MODE_INTERP = MONO_AOT_MODE_INTERP_ONLY, } MonoEEMode; - static inline MonoMethod* jinfo_get_method (MonoJitInfo *ji) {