[sre] Use coop handles for ModuleBuilder.set_wrappers_type
authorAleksey Kliger <aleksey@xamarin.com>
Wed, 3 May 2017 18:21:33 +0000 (14:21 -0400)
committerAleksey Kliger <aleksey@xamarin.com>
Wed, 10 May 2017 15:14:00 +0000 (11:14 -0400)
mono/metadata/icall-def.h
mono/metadata/object-internals.h
mono/metadata/sre.c

index a50dc9c6481a3015ff3f3d23c6e31a82b7bb8b55..81372e12baaa8d2f42942c8ce5b39daaa870f860 100644 (file)
@@ -557,7 +557,7 @@ ICALL(MODULEB_3, "build_metadata", ves_icall_ModuleBuilder_build_metadata)
 HANDLES(ICALL(MODULEB_5, "getMethodToken", ves_icall_ModuleBuilder_getMethodToken))
 HANDLES(ICALL(MODULEB_6, "getToken", ves_icall_ModuleBuilder_getToken))
 HANDLES(ICALL(MODULEB_7, "getUSIndex", ves_icall_ModuleBuilder_getUSIndex))
-ICALL(MODULEB_9, "set_wrappers_type", ves_icall_ModuleBuilder_set_wrappers_type)
+HANDLES(ICALL(MODULEB_9, "set_wrappers_type", ves_icall_ModuleBuilder_set_wrappers_type))
 
 ICALL_TYPE(SIGH, "System.Reflection.Emit.SignatureHelper", SIGH_1)
 HANDLES(ICALL(SIGH_1, "get_signature_field", ves_icall_SignatureHelper_get_signature_field))
index 0c9450f50e18c6bb0cbfde88a2ed0164c3dfea22..59b1cc558995810ce60a38bd480b4515d0c5ccbc 100644 (file)
@@ -1910,7 +1910,7 @@ guint32
 ves_icall_ModuleBuilder_getUSIndex (MonoReflectionModuleBuilderHandle module, MonoStringHandle str, MonoError *error);
 
 void
-ves_icall_ModuleBuilder_set_wrappers_type (MonoReflectionModuleBuilder *moduleb, MonoReflectionType *type);
+ves_icall_ModuleBuilder_set_wrappers_type (MonoReflectionModuleBuilderHandle moduleb, MonoReflectionTypeHandle type, MonoError *error);
 
 MonoAssembly*
 mono_try_assembly_resolve_handle (MonoDomain *domain, MonoStringHandle fname, MonoAssembly *requesting, gboolean refonly, MonoError *error);
index e93e716a1dc0a47c8f8c64305976461636bb2474..b50434bc1feca744de19cc559bf63b873dac06d3 100644 (file)
@@ -4365,10 +4365,12 @@ ves_icall_ModuleBuilder_getUSIndex (MonoReflectionModuleBuilderHandle module, Mo
 }
 
 void
-ves_icall_ModuleBuilder_set_wrappers_type (MonoReflectionModuleBuilder *moduleb, MonoReflectionType *type)
+ves_icall_ModuleBuilder_set_wrappers_type (MonoReflectionModuleBuilderHandle moduleb, MonoReflectionTypeHandle ref_type, MonoError *error)
 {
-       MonoDynamicImage *image = moduleb->dynamic_image;
+       error_init (error);
+       MonoDynamicImage *image = MONO_HANDLE_GETVAL (moduleb, dynamic_image);
+       MonoType *type = MONO_HANDLE_GETVAL (ref_type, type);
 
-       g_assert (type->type);
-       image->wrappers_type = mono_class_from_mono_type (type->type);
+       g_assert (type);
+       image->wrappers_type = mono_class_from_mono_type (type);
 }