* appdomain.c: Removed look_for_method_by_name(). Use the new method
authorLluis Sanchez <lluis@novell.com>
Wed, 10 Nov 2004 11:59:32 +0000 (11:59 -0000)
committerLluis Sanchez <lluis@novell.com>
Wed, 10 Nov 2004 11:59:32 +0000 (11:59 -0000)
commit749ba084dcecd2510b2c9f361605ae529233a731
tree35af18890334d534c8ae59dc1591bd5517b867c4
parent35b4dcf8d179546acc935831d445f00839a032c9
* appdomain.c: Removed look_for_method_by_name(). Use the new method
mono_class_get_method_from_name() instead.

* class-internals.h: Added two new types of wrappers.
Added MonoRemotingTarget enum. Added new trampoline function type, which
takes an additional MonoRemotingTarget value as parameter, so it is
possible to request a trampoline for a specific target.

* class.c: Added new mono_class_get_method_from_name() method.

* class.h: In MonoRemoteClass, we can have now to vtables, one for
general remoting sinks and one specific for cross domain calls.

* debug-helpers.c: Added new wrapper names.

* icall.c: Use the new method mono_remote_class_vtable() to get the vtable
of a remote class.

* image.c: Porperly delete value objects form the remoting invoke hashtable.

* marshal.c: Added mono_marshal_get_xappdomain_invoke(), which together
with several other methods (mono_marshal_get_xappdomain_dispatch,
mono_marshal_get_xappdomain_target, mono_marshal_get_serialize_exception,
and others) can generate a fast remoting wrapper for cross domain calls.
More information can be found in docs/remoting.
Other changes: Removed mono_find_method_by_name, and used
mono_class_get_method_from_name instead.
Remoting wrappers are now stored in a MonoRemotingMethods struct, which
is stored in the remoting invoke hashtable.

* marshal.h: published the new method for getting the xdomain wrapper,
and also added a method for getting the adequate wrapper for a given
method and target.

* object-internals.h, object.c: Added a couple of methods for capying and
cloning arrays.
Modified mono_install_remoting_trampoline, which takes the new remoting
trampoline that has a remoting target as parameter.
mono_class_proxy_vtable now also takes a remoting target as parameter, and
will return the most suitable vtable for the target.
Added mono_remote_class_vtable, which returns the vtable of a remote class
(which can be the normal remoting vtable or the xdomain vtable).

* threads.c: the xdomain invoke and dispatch wrappers must also be
protected against interruptions.

svn path=/trunk/mono/; revision=35965
13 files changed:
mono/metadata/ChangeLog
mono/metadata/appdomain.c
mono/metadata/class-internals.h
mono/metadata/class.c
mono/metadata/class.h
mono/metadata/debug-helpers.c
mono/metadata/icall.c
mono/metadata/image.c
mono/metadata/marshal.c
mono/metadata/marshal.h
mono/metadata/object-internals.h
mono/metadata/object.c
mono/metadata/threads.c