-/*
- * dynamic-image.c: Images created at runtime.
+/**
+ * \file
+ * Images created at runtime.
*
*
* Author:
mono_image_unlock ((MonoImage*)image);
}
-#ifndef DISABLE_REFLECTION_INIT
+#ifndef DISABLE_REFLECTION_EMIT
/*
* mono_dynamic_image_register_token:
*
return obj;
}
+#ifndef DISABLE_REFLECTION_EMIT
+MonoObjectHandle
+mono_dynamic_image_get_registered_token (MonoDynamicImage *dynimage, guint32 token, MonoError *error)
+{
+ error_init (error);
+ return MONO_HANDLE_NEW (MonoObject, lookup_dyn_token (dynimage, token));
+}
+#else /* DISABLE_REFLECTION_EMIT */
+MonoObjectHandle
+mono_dynamic_image_get_registered_token (MonoDynamicImage *dynimage, guint32 token, MonoError *error)
+{
+ g_assert_not_reached ();
+ return NULL_HANDLE;
+}
+#endif
+
/**
*
* mono_dynamic_image_is_valid_token:
else
version = mono_get_runtime_info ()->runtime_version;
-#if HAVE_BOEHM_GC
- /* The MonoGHashTable's need GC tracking */
- image = (MonoDynamicImage *)GC_MALLOC (sizeof (MonoDynamicImage));
-#else
image = g_new0 (MonoDynamicImage, 1);
-#endif
- mono_profiler_module_event (&image->image, MONO_PROFILE_START_LOAD);
+ MONO_PROFILER_RAISE (image_loading, (&image->image));
/*g_print ("created image %p\n", image);*/
/* keep in sync with image.c */
image->pe_kind = 0x1; /* ILOnly */
image->machine = 0x14c; /* I386 */
- mono_profiler_module_loaded (&image->image, MONO_PROFILE_OK);
+ MONO_PROFILER_RAISE (image_loaded, (&image->image));
dynamic_images_lock ();
void
mono_dynamic_image_free_image (MonoDynamicImage *image)
{
- /* See create_dynamic_mono_image () */
-#if HAVE_BOEHM_GC
- /* Allocated using GC_MALLOC */
-#else
g_free (image);
-#endif
}