Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndi McClure <andi.mcclure@xamarin.com>2016-09-07 17:28:43 +0300
committerGitHub <noreply@github.com>2016-09-07 17:28:43 +0300
commitdea21552509fe421f20e43366a997bb8653637b1 (patch)
tree3cd97f4bcca4bfb5c7f310272e6d5690e5e4ecd9
parent51a3c93f67949bb1c277b9cb33a48c220bf1307f (diff)
parent24f744c3f6ec5c7e96d3f63d5a2eb5b1552a7239 (diff)
Merge pull request #3527 from xmcclure/cherrypick-monoerror-fixmono-4.6.0.243cycle8-beta4
Cherrypick mono_jit_runtime_invoke fix
-rw-r--r--mono/mini/mini-runtime.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/mono/mini/mini-runtime.c b/mono/mini/mini-runtime.c
index c2c641f9803..c4ae82e0cbc 100644
--- a/mono/mini/mini-runtime.c
+++ b/mono/mini/mini-runtime.c
@@ -2521,11 +2521,13 @@ mono_jit_runtime_invoke (MonoMethod *method, void *obj, void **params, MonoObjec
mono_arch_start_dyn_call (info->dyn_call_info, (gpointer**)args, retval, buf, sizeof (buf));
dyn_runtime_invoke (buf, exc, info->compiled_method);
- if (catchExcInMonoError && *exc != NULL)
- mono_error_set_exception_instance (error, (MonoException*) *exc);
-
mono_arch_finish_dyn_call (info->dyn_call_info, buf);
+ if (catchExcInMonoError && *exc != NULL) {
+ mono_error_set_exception_instance (error, (MonoException*) *exc);
+ return NULL;
+ }
+
if (info->ret_box_class)
return mono_value_box_checked (domain, info->ret_box_class, retval, error);
else