On 07/04/03 Vivek, Bharath Varma (IE10) wrote:
> For the "Main" of my HelloWorld.exe application, this dynamically generated
> IL code gets compiled to a function that in turn makes a call to the
> runtime's function called "mono_ldftn"(load function token), which
> eventually goes on to compile my HelloWorld.exe's "Main".
> If we know the managed application's entry point method("Main") why don't we
> compile and call it directly? Why do we create a function which in turn
> calls the entry point method?
>
> I found that this mechanism is used for certain other functions too(some of
> which are functions that support opcode emulation). What's basis for
> deciding which functions in the runtime will need this dynamic IL wrapper
> mechanism?
The main reason, as Dietmar explained, is to handle exceptions: the
generated method has a filter exception clause. This lets the C code
easily intercept exceptions if needed. The other main reason is that
the calling convention used by the managed methods may be different from
the calling convention of functions in the C code: you need a wrapper
that does the appropriate conversions.
lupus
--
-----------------------------------------------------------------
[EMAIL PROTECTED] debian/rules
[EMAIL PROTECTED] Monkeys do it better
_______________________________________________
Mono-list maillist - [EMAIL PROTECTED]
http://lists.ximian.com/mailman/listinfo/mono-list