[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Free Java (Was: Trouble with VM?)



My equally biased response ...

Etienne Gagnon wrote:

GCJ is mainly a GCC extension, targeting static compilation of Java to
native code and/or bytecode.

GCJ aims to be a complete full-featured Free Java implementation.

It includes a minimal, but incomplete interpreter (gij).

Gij may have bugs, and we certainly make no claim that the bytecode
verifier or security is robust enough to make it suitable for running
possibly hostile code.  However, as far as I know it is "complete".

We would be happy to integrate a JIT into GIJ, as an option.

> Its main native interface is CNI (Cygnus Native Interface)

I think officially it's now the "Compiled Native Interface".

which is convenient for linking with C++ code,

And an order of magnitude faster.

but which is non standard (incompatible with JNI)

which is why GCJ also implements JNI

and is also incompatible with precise and moving
garbage collectors.

I don't believe it is incompatible with a precise collector.  (Emacs
uses a precise collector.)  Nor is it *inherently* incompatible with a
copying collector - you just have to teach the C++ compiler to emit the
necessary tables so the collector can update all the pointers.  That is
a very hard problem.  Furthermore, it has been claimed that JNI also in
practice requires a conservative collector.
--
	--Per Bothner
per@bothner.com   http://per.bothner.com/




Reply to: