Author: zoltan
Date: 2005-03-24 09:46:17 -0500 (Thu, 24 Mar 2005)
New Revision: 42217

Modified:
   trunk/mono/mono/metadata/ChangeLog
   trunk/mono/mono/metadata/reflection.c
Log:
2005-03-24  Zoltan Varga  <[EMAIL PROTECTED]>

        * reflection.c (create_custom_attr): Allocate the params array using
        alloca so it gets GC tracking.


Modified: trunk/mono/mono/metadata/ChangeLog
===================================================================
--- trunk/mono/mono/metadata/ChangeLog  2005-03-24 14:30:33 UTC (rev 42216)
+++ trunk/mono/mono/metadata/ChangeLog  2005-03-24 14:46:17 UTC (rev 42217)
@@ -1,3 +1,8 @@
+2005-03-24  Zoltan Varga  <[EMAIL PROTECTED]>
+
+       * reflection.c (create_custom_attr): Allocate the params array using
+       alloca so it gets GC tracking.
+
 2005-03-23  Chris Toshok  <[EMAIL PROTECTED]>
 
        * mono-debug-debugger.c (mono_debugger_runtime_invoke): comment

Modified: trunk/mono/mono/metadata/reflection.c
===================================================================
--- trunk/mono/mono/metadata/reflection.c       2005-03-24 14:30:33 UTC (rev 
42216)
+++ trunk/mono/mono/metadata/reflection.c       2005-03-24 14:46:17 UTC (rev 
42217)
@@ -6580,9 +6580,10 @@
                return NULL;
 
        /*g_print ("got attr %s\n", method->klass->name);*/
-       
-       params = g_new (void*, mono_method_signature (method)->param_count);
 
+       /* Allocate using alloca so it gets GC tracking */
+       params = alloca (mono_method_signature (method)->param_count * sizeof 
(void*)); 
+
        /* skip prolog */
        p += 2;
        for (i = 0; i < mono_method_signature (method)->param_count; ++i) {
@@ -6593,7 +6594,6 @@
        attr = mono_object_new (mono_domain_get (), method->klass);
        mono_runtime_invoke (method, attr, params, NULL);
        free_param_data (method->signature, params);
-       g_free (params);
        num_named = read16 (named);
        named += 2;
        for (j = 0; j < num_named; j++) {

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to