[Mono-list] RE: mono_marshal_get_runtime_invoke (marshal.c)

bvv bvv" <bvvarma1@rediffmail.com
19 Aug 2003 12:59:12 -0000

On 08/18/2003 Derek Woo wrote:
>>I am trying to understand what this method does in mono 
>>MonoMethod *
>>mono_marshal_get_runtime_invoke (MonoMethod *method)
>>It looks like it generate a method (in the form of IL) which 
>>wraps >>around the "Main" method of a program. Am I getting the 
>>meaning? >>Could someone elaborate a little bit on that?

Yes, you are right! The method generates IL wrapper for your 
There are 3 main reasons for this,
1. Handling exceptions - The generated method has a filter 
exception clause, so that C code can intercept exceptions.
2. Handling calling convention differences - The calling 
convention of managed methods may be different from that of 
functions in the C, and this IL wrapper does the appropriate 
3. Single API to call managed methods - The IL wrapper has the 
following signature - MonoObject *runtime_invoke (MonoObject 
*this, void **params, MonoObject **exc)
Using this API you can effectively call any managed method 
whatever its signature.


Meet your old school or college friends from
1 Million + database...
Click here to reunite www.batchmates.com/rediff.asp