[Mono-devel-list] AMD64, PInvoke + Native Exceptions

Zoltan Varga vargaz at gmail.com
Sun Oct 24 07:13:29 EDT 2004


On Sat, 23 Oct 2004 21:32:13 +0200 (MEST), Willibald Krenn
<willibald.krenn at gmx.at> wrote:
> Hi *!
> Currently I'm 'playing' around with the AMD64 version of Mini. (Checkout of
> the version I'm using was some time ago, though..)
> For the introducery topic of my thesis, I prepared some simple examples and
> followed the way from CIL to machine code etc.
> I was just doing some stuff on PInvoke and tried to show how mono catches
> exceptions thrown in e.g. a g++ compiled .so, as it became apparent, that
> this is not supported at all.
> Question now is, whether this is as designed, or some future mini version
> will include this feature somehow..

This will not be implemented in the near future.

> BTW: LMF seems pretty senseless on AMD64, or have I missed something..

LMF is used to return to the last managed method in case the unmanaged method
threw an exception. This is used when the internal runtime code throws
an .NET exception,
for example. It is also used when there is a segmentation fault in
unmanaged code.

> Another question that arose has to do with OP_CHECK_THIS: Am I right that
> this is not fully implemented yet?

OP_CHECK_THIS works by loading the value pointed to by the given this
variable. If
the variable is null, a SIGSEGV is sent to the thread, which will be
converted to a
NullReferenceException by the exception handling code.

> And the last one: When stepping through code with ddd, I often get SIG35
> exceptions.. Anything I can do about that?
Some signals are used by the runtime/libgc for suspending/aborting
threads etc. These
can be ignored during debugging by the gdb 'handle' command.


> Thanks,
>  Willi
> P.S.: I would suggest renaming the 'unused' field in MonoInst..
> --
> +++ GMX DSL Premiumtarife 3 Monate gratis* + WLAN-Router 0,- EUR* +++
> Clevere DSL-Nutzer wechseln jetzt zu GMX: http://www.gmx.net/de/go/dsl
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list

More information about the Mono-devel-list mailing list