blob: 0541bb4dc54239757ec01a60fedae09002037bd9 [file] [log] [blame]
New in libgcj X.XX:
* libgcj now includes a bytecode interpreter. If a compiled version of a class
is not found in the application binary or linked shared libraries, the
class loader will search for a bytecode version in the CLASSPATH and execute
it using the interpreter. A new front end that behaves like the traditional
`java' command is also provided: `gij'.
* Support for specifying java system properties. Properties can either be set
at runtime via the GCJ_PROPERTIES environment variable in the format
"<name>=<value> ..."'; or can be compiled into an application binary using
-D<name>=<value>.
* Support for setjmp/longjmp (sjlj) exception handling has been added, as an
alternative to the existing range-table based mechanism. sjlj is the default
on non-sparc, non-x86 targets, or can be specified with the
`--enable-sjlj-exceptions' configure parameter.
* Complete JDK 1.1 reflection support, including invocation.
* Throwable.printStackTrace() has been implemented.
* Runtime.loadLibrary() has been implemented.
* Class.forName() will now try to load a series of shared objects in order
to find the requested class. If a class `gnu.quux.whatever' is requested,
libgcj will search the system shared library path (eg LD_LIBRARY_PATH) for
`gnu-quux-whatever.so', then `gnu-quux.so', and finally `gnu.so'.
* A pure-java implementation of java.math.BigInteger.
New in libgcj 2.95:
* First public release