From 3bfd0fd2f87abf17765f2a005c5cfeb1ca786e16 Mon Sep 17 00:00:00 2001 From: Vlad Brezae Date: Fri, 24 Mar 2017 00:17:30 +0200 Subject: [PATCH] [runtime] Don't reset abort exception in invoke wrapper It leads to missing self aborts on full-aot. --- mono/metadata/marshal.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/mono/metadata/marshal.c b/mono/metadata/marshal.c index af4cabd655f..555a96122b7 100644 --- a/mono/metadata/marshal.c +++ b/mono/metadata/marshal.c @@ -4427,7 +4427,7 @@ mono_marshal_get_runtime_invoke_dynamic (void) MonoMethodSignature *csig; MonoExceptionClause *clause; MonoMethodBuilder *mb; - int pos, posna; + int pos; char *name; WrapperInfo *info; @@ -4497,15 +4497,6 @@ mono_marshal_get_runtime_invoke_dynamic (void) mono_mb_emit_byte (mb, CEE_LDNULL); mono_mb_emit_stloc (mb, 0); - /* Check for the abort exception */ - mono_mb_emit_ldloc (mb, 1); - mono_mb_emit_op (mb, CEE_ISINST, mono_defaults.threadabortexception_class); - posna = mono_mb_emit_short_branch (mb, CEE_BRFALSE_S); - - /* Delay the abort exception */ - mono_mb_emit_icall (mb, ves_icall_System_Threading_Thread_ResetAbort); - - mono_mb_patch_short_branch (mb, posna); mono_mb_emit_branch (mb, CEE_LEAVE); clause->handler_len = mono_mb_get_pos (mb) - clause->handler_offset; -- 2.25.1