CMD_APPDOMAIN_GET_ENTRY_ASSEMBLY = 4,
CMD_APPDOMAIN_CREATE_STRING = 5,
CMD_APPDOMAIN_GET_CORLIB = 6,
- CMD_APPDOMAIN_CREATE_BOXED_VALUE = 7
+ CMD_APPDOMAIN_CREATE_BOXED_VALUE = 7,
+ CMD_APPDOMAIN_CREATE_BYTE_ARRAY = 8,
} CmdAppDomain;
typedef enum {
buffer_add_objid (buf, (MonoObject*)o);
break;
}
+ case CMD_APPDOMAIN_CREATE_BYTE_ARRAY: {
+ ERROR_DECL (error);
+ MonoArray *arr;
+ gpointer elem;
+ domain = decode_domainid (p, &p, end, NULL, &err);
+ uintptr_t size = 0;
+ int len = decode_int (p, &p, end);
+ size = len;
+ arr = mono_array_new_full_checked (mono_domain_get (), mono_class_create_array (mono_get_byte_class(), 1), &size, NULL, error);
+ elem = mono_array_addr_internal (arr, guint8, 0);
+ memcpy (elem, p, len);
+ p += len;
+ buffer_add_objid (buf, (MonoObject*) arr);
+ break;
+ }
case CMD_APPDOMAIN_CREATE_BOXED_VALUE: {
ERROR_DECL (error);
MonoClass *klass;
"GET_ENTRY_ASSEMBLY",
"CREATE_STRING",
"GET_CORLIB",
- "CREATE_BOXED_VALUE"
+ "CREATE_BOXED_VALUE",
+ "CREATE_BYTE_ARRAY",
};
static const char* assembly_cmds_str[] = {