FFI Definition

Sven Panne Sven.Panne at informatik.uni-muenchen.de
Tue May 1 15:38:38 EDT 2001


Simon Peyton-Jones wrote:
> [...] I think it's inevitable that the form of type of the foreign thing
> is going to depend on per-language details.  For C we have
> 
>         call
>         call indirect
>         label

Hmmm, we actually have 5 different things here...

> For Java we have
> 
>         4 different invocations
>         new

Just nitpicking, but: There's nothing special about Java's <init> resp.
<clinit> methods which isn't covered already by the 4 invoke instructions.

> For C++ we have
> 
>         call virt
>         call non-virt
>         new

And what about multiple inheritance? Most implementations need some kind
of pointer adjustment to get their vtables right.   %-]

> I think we have to bite the bullet and put this stuff in the language
> specific string, including our current static/dynamic thing. [...]

*sigh* I think so, too...

> [...]  My criterion is
> 
>         language specific stuff inside the "..." string
>         language independent stuff outside

But static/dynamic probably means different things, depending on the
callconv.

Cheers,
   Sven




More information about the FFI mailing list