Author: joncham
Date: 2006-12-19 12:19:37 -0500 (Tue, 19 Dec 2006)
New Revision: 69758
Modified:
trunk/mono/mono/metadata/ChangeLog
trunk/mono/mono/metadata/marshal.c
Log:
2006-12-19 Jonathan Chambers <[EMAIL PROTECTED]>
* marshal.c
(ves_icall_System_Runtime_InteropServices_Marshal_AllocHGlobal,
ves_icall_System_Runtime_InteropServices_Marshal_FreeHGlobal): Use
GlobalAlloc
and GlobalFree on Windows. Remove FIXME.
Modified: trunk/mono/mono/metadata/ChangeLog
===================================================================
--- trunk/mono/mono/metadata/ChangeLog 2006-12-19 17:00:10 UTC (rev 69757)
+++ trunk/mono/mono/metadata/ChangeLog 2006-12-19 17:19:37 UTC (rev 69758)
@@ -1,4 +1,9 @@
+2006-12-19 Jonathan Chambers <[EMAIL PROTECTED]>
+ * marshal.c
(ves_icall_System_Runtime_InteropServices_Marshal_AllocHGlobal,
+ ves_icall_System_Runtime_InteropServices_Marshal_FreeHGlobal): Use
GlobalAlloc
+ and GlobalFree on Windows. Remove FIXME.
+
Tue Dec 19 16:18:16 CET 2006 Paolo Molaro <[EMAIL PROTECTED]>
* mono-mlist.h, mono-mlist.c, Makefile.am: linked list
Modified: trunk/mono/mono/metadata/marshal.c
===================================================================
--- trunk/mono/mono/metadata/marshal.c 2006-12-19 17:00:10 UTC (rev 69757)
+++ trunk/mono/mono/metadata/marshal.c 2006-12-19 17:19:37 UTC (rev 69758)
@@ -9836,8 +9836,6 @@
mono_struct_delete_old (klass, (char *)src);
}
-
-/* FIXME: on win32 we should probably use GlobalAlloc(). */
void*
ves_icall_System_Runtime_InteropServices_Marshal_AllocHGlobal (int size)
{
@@ -9849,7 +9847,11 @@
/* This returns a valid pointer for size 0 on MS.NET */
size = 4;
+#ifdef PLATFORM_WIN32
+ res = GlobalAlloc (GMEM_FIXED, (gulong)size);
+#else
res = g_try_malloc ((gulong)size);
+#endif
if (!res)
mono_gc_out_of_memory ((gulong)size);
@@ -9861,7 +9863,11 @@
{
MONO_ARCH_SAVE_REGS;
+#ifdef PLATFORM_WIN32
+ GlobalFree (ptr);
+#else
g_free (ptr);
+#endif
}
void*
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches