Skip to content

Commit bc183b8

Browse files
authored
[mono][wasm] Fix boxing of gsharedvt nullables. (#75288)
1 parent 239f550 commit bc183b8

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/mono/mono/mini/method-to-ir.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3403,9 +3403,14 @@ mini_emit_box (MonoCompile *cfg, MonoInst *val, MonoClass *klass, int context_us
34033403

34043404
if (context_used) {
34053405
if (cfg->llvm_only) {
3406+
MonoInst *addr;
34063407
MonoMethodSignature *sig = mono_method_signature_internal (method);
3407-
MonoInst *addr = emit_get_rgctx_method (cfg, context_used, method,
3408-
MONO_RGCTX_INFO_METHOD_FTNDESC);
3408+
if (mini_is_gsharedvt_klass (klass))
3409+
addr = mini_emit_get_gsharedvt_info_klass (cfg, klass,
3410+
MONO_RGCTX_INFO_NULLABLE_CLASS_BOX);
3411+
else
3412+
addr = emit_get_rgctx_method (cfg, context_used, method,
3413+
MONO_RGCTX_INFO_METHOD_FTNDESC);
34093414
cfg->interp_in_signatures = g_slist_prepend_mempool (cfg->mempool, cfg->interp_in_signatures, sig);
34103415
return mini_emit_llvmonly_calli (cfg, sig, &val, addr);
34113416
} else {

0 commit comments

Comments
 (0)