[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mono-patches
Subject:    [Mono-patches] r61345 - trunk/mono/mono/metadata
From:       "Zoltan Varga (vargaz AT gmail.com)" <mono-patches-list () lists ! ximian ! com>
Date:       2006-05-31 17:16:48
Message-ID: 20060531171648.6E17E9472C () mono-cvs ! ximian ! com
[Download RAW message or body]

Author: zoltan
Date: 2006-05-31 13:16:47 -0400 (Wed, 31 May 2006)
New Revision: 61345

Modified:
   trunk/mono/mono/metadata/ChangeLog
   trunk/mono/mono/metadata/appdomain.c
   trunk/mono/mono/metadata/marshal.c
   trunk/mono/mono/metadata/object-internals.h
   trunk/mono/mono/metadata/object.c
   trunk/mono/mono/metadata/threadpool.c
Log:
2006-05-31  Zoltan Varga  <vargaz@gmail.com>

	* object-internals.h (MonoAsyncResult): Add an 'object_data' field which has
	GC tracking.
	
	* object.c (mono_async_result_new): Add an additional parameter 'object_data'.

	* marshal.c threadpool.c: Update callers of mono_async_result_new.

	* appdomain.c: Bump corlib version.


Modified: trunk/mono/mono/metadata/ChangeLog
===================================================================
--- trunk/mono/mono/metadata/ChangeLog	2006-05-31 17:13:32 UTC (rev 61344)
+++ trunk/mono/mono/metadata/ChangeLog	2006-05-31 17:16:47 UTC (rev 61345)
@@ -1,5 +1,21 @@
 2006-05-31  Zoltan Varga  <vargaz@gmail.com>
 
+	* object-internals.h (MonoAsyncResult): Add an 'object_data' field which has
+	GC tracking.
+	
+	* object.c (mono_async_result_new): Add an additional parameter 'object_data'.
+
+	* marshal.c threadpool.c: Update callers of mono_async_result_new.
+
+	* appdomain.c: Bump corlib version.
+
+2006-05-30  Zoltan Varga  <vargaz@gmail.com>
+
+	* marshal.c: Use mono_mb_emit_stloc in more places. Use CEE_LDIND_REF and
+	CEE_STIND_REF when working with object references.
+
+2006-05-31  Zoltan Varga  <vargaz@gmail.com>
+
 	* class.c (mono_class_setup_fields): Call mono_class_init () for class->parent.
 	Fixes #78539.
 

Modified: trunk/mono/mono/metadata/appdomain.c
===================================================================
--- trunk/mono/mono/metadata/appdomain.c	2006-05-31 17:13:32 UTC (rev 61344)
+++ trunk/mono/mono/metadata/appdomain.c	2006-05-31 17:16:47 UTC (rev 61345)
@@ -31,7 +31,7 @@
 #include <mono/utils/mono-uri.h>
 #include <mono/utils/mono-logger.h>
 
-#define MONO_CORLIB_VERSION 51
+#define MONO_CORLIB_VERSION 52
 
 CRITICAL_SECTION mono_delegate_section;
 

Modified: trunk/mono/mono/metadata/marshal.c
===================================================================
--- trunk/mono/mono/metadata/marshal.c	2006-05-31 17:13:32 UTC (rev 61344)
+++ trunk/mono/mono/metadata/marshal.c	2006-05-31 17:16:47 UTC (rev 61345)
@@ -2009,7 +2009,7 @@
 
 			msg = mono_method_call_message_new (mono_marshal_method_from_wrapper (method), \
params, NULL, &async_callback, &state);  handle = CreateEvent (NULL, TRUE, FALSE, \
                NULL);
-			ares = mono_async_result_new (mono_domain_get (), handle, state, handle);
+			ares = mono_async_result_new (mono_domain_get (), handle, state, handle, NULL);
 			MONO_OBJECT_SETREF (ares, async_delegate, (MonoObject *)delegate);
 			MONO_OBJECT_SETREF (ares, async_callback, (MonoObject *)async_callback);
 			MONO_OBJECT_SETREF (msg, async_result, ares);

Modified: trunk/mono/mono/metadata/object-internals.h
===================================================================
--- trunk/mono/mono/metadata/object-internals.h	2006-05-31 17:13:32 UTC (rev 61344)
+++ trunk/mono/mono/metadata/object-internals.h	2006-05-31 17:16:47 UTC (rev 61345)
@@ -150,7 +150,8 @@
 	MonoObject  *async_state;
 	MonoObject  *handle;
 	MonoObject  *async_delegate;
-	gpointer     data;
+	gpointer    *data;
+	MonoObject  *object_data;
 	MonoBoolean  sync_completed;
 	MonoBoolean  completed;
 	MonoBoolean  endinvoke_called;
@@ -402,7 +403,7 @@
 
 MonoAsyncResult *
 mono_async_result_new	    (MonoDomain *domain, HANDLE handle, 
-			     MonoObject *state, gpointer data);
+			     MonoObject *state, gpointer data, MonoObject *object_data);
 
 MonoWaitHandle *
 mono_wait_handle_new	    (MonoDomain *domain, HANDLE handle);

Modified: trunk/mono/mono/metadata/object.c
===================================================================
--- trunk/mono/mono/metadata/object.c	2006-05-31 17:13:32 UTC (rev 61344)
+++ trunk/mono/mono/metadata/object.c	2006-05-31 17:16:47 UTC (rev 61345)
@@ -3558,7 +3558,7 @@
  *
  */
 MonoAsyncResult *
-mono_async_result_new (MonoDomain *domain, HANDLE handle, MonoObject *state, \
gpointer data) +mono_async_result_new (MonoDomain *domain, HANDLE handle, MonoObject \
*state, gpointer data, MonoObject *object_data)  {
 	MonoAsyncResult *res = (MonoAsyncResult *)mono_object_new (domain, \
mono_defaults.asyncresult_class);  MonoMethod *method = \
mono_get_context_capture_method (); @@ -3570,6 +3570,7 @@
 	}
 
 	res->data = data;
+	MONO_OBJECT_SETREF (res, object_data, object_data);
 	MONO_OBJECT_SETREF (res, async_state, state);
 	if (handle != NULL)
 		MONO_OBJECT_SETREF (res, handle, (MonoObject *) mono_wait_handle_new (domain, \
handle));

Modified: trunk/mono/mono/metadata/threadpool.c
===================================================================
--- trunk/mono/mono/metadata/threadpool.c	2006-05-31 17:13:32 UTC (rev 61344)
+++ trunk/mono/mono/metadata/threadpool.c	2006-05-31 17:16:47 UTC (rev 61345)
@@ -992,7 +992,7 @@
 		ac->cb_target = async_callback;
 	}
 
-	ares = mono_async_result_new (domain, NULL, ac->state, ac);
+	ares = mono_async_result_new (domain, NULL, ac->state, ac, NULL);
 	MONO_OBJECT_SETREF (ares, async_delegate, target);
 
 	EnterCriticalSection (&ares_lock);

_______________________________________________
Mono-patches maillist  -  Mono-patches@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-patches


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic