diff --git a/src/mono/mono/mini/method-to-ir.c b/src/mono/mono/mini/method-to-ir.c index e270a54d2af8c2..8cd1bd3605b70f 100644 --- a/src/mono/mono/mini/method-to-ir.c +++ b/src/mono/mono/mini/method-to-ir.c @@ -3327,9 +3327,11 @@ mini_emit_box (MonoCompile *cfg, MonoInst *val, MonoClass *klass, int context_us if (context_used) { if (cfg->llvm_only) { + MonoMethodSignature *sig = mono_method_signature_internal (method); MonoInst *addr = emit_get_rgctx_method (cfg, context_used, method, MONO_RGCTX_INFO_METHOD_FTNDESC); - return mini_emit_llvmonly_calli (cfg, mono_method_signature_internal (method), &val, addr); + cfg->interp_in_signatures = g_slist_prepend_mempool (cfg->mempool, cfg->interp_in_signatures, sig); + return mini_emit_llvmonly_calli (cfg, sig, &val, addr); } else { /* FIXME: What if the class is shared? We might not have to get the method address from the RGCTX. */