Mixing native code and bytecode
Andrew Haley
aph@redhat.com
Tue May 17 13:09:00 GMT 2005
Jerome Roussel writes:
>
> I am looking for information about the way GCJ mix native code and
> bytecode. I know that the bytecode is interpreted so now I am trying to
> understand the interface used to "switch" from native to bytecode and
> from bytecode to native.
>
> For instance, when -findirect-dispatch is used, a vtable needs to be
> filled for each native class, but what happens if one method is
> inherited from a parent class which is in bytecode form. This is the
> kind of question I am trying to understand about the implementation
> internals.
The part you perhaps don't know about is the libffi invocation
interface. This is the "magic bullet" that allows you to construct on
the fly a native code thunk to interpreted code. More explanation at
ftp://gcc.gnu.org/pub/gcc/summit/2004/GCJ%20New%20ABI.pdf
> The possibility to mix native code and bytecode is very powerful so
> I thought that some papers would explain the mechanism but I
> haven't found anything on that matter. If you have a link to such a
> paper, a documentation or to some specific source files in GCC to
> look at, I would be very grateful.
Let us know if there's anything more you need.
Andrew.
More information about the Java
mailing list