Fixes crash due to MonoDynamicAssembly or MonoDynamicImage being collected under Boehm as they were unreferenced GC memory.
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);
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
}
if (assemblyb->dynamic_assembly)
return;
-#if HAVE_BOEHM_GC
- /* assembly->assembly.image might be GC allocated */
- assembly = assemblyb->dynamic_assembly = (MonoDynamicAssembly *)GC_MALLOC (sizeof (MonoDynamicAssembly));
-#else
assembly = assemblyb->dynamic_assembly = g_new0 (MonoDynamicAssembly, 1);
-#endif
mono_profiler_assembly_event (&assembly->assembly, MONO_PROFILE_START_LOAD);