| 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 |