#define HEADER_LENGTH 11
#define MAJOR_VERSION 2
-#define MINOR_VERSION 46
+#define MINOR_VERSION 45
typedef enum {
CMD_SET_VM = 1,
args [i] = arg_buf [i];
}
} else {
- arg_buf [i] = (guint8 *)g_alloca (mono_class_instance_size (mono_class_from_mono_type (sig->params [i])));
+ MonoClass *arg_class = mono_class_from_mono_type (sig->params [i]);
+ arg_buf [i] = (guint8 *)g_alloca (mono_class_instance_size (arg_class));
err = decode_value (sig->params [i], domain, arg_buf [i], p, &p, end);
if (err != ERR_NONE)
break;
- args [i] = arg_buf [i];
+ if (mono_class_is_nullable (arg_class)) {
+ args [i] = mono_nullable_box (arg_buf [i], arg_class, &error);
+ mono_error_assert_ok (&error);
+ } else {
+ args [i] = arg_buf [i];
+ }
}
}
buffer_add_int (buf, locals->code_blocks [i].end_offset - locals->code_blocks [i].start_offset);
last_start = locals->code_blocks [i].start_offset;
}
- if (CHECK_PROTOCOL_VERSION (2, 46)) {
- /* Scopes for hoisted locals */
- buffer_add_int (buf, locals->num_hoisted);
- for (i = 0; i < locals->num_hoisted; ++i) {
- buffer_add_int (buf, locals->code_blocks [i].start_offset);
- buffer_add_int (buf, locals->code_blocks [i].end_offset);
- }
- }
}
num_locals = locals->num_locals;