e90bcbf5e3
From-SVN: r85283
123 lines
4.3 KiB
Plaintext
123 lines
4.3 KiB
Plaintext
*** Changes in GCC 3.4:
|
|
|
|
* Compiling a .jar file will now cause non-.class entries to be automatically
|
|
compiled as resources.
|
|
|
|
* libgcj has been ported to Darwin.
|
|
|
|
* Jeff Sturm has adapted Jan Hubicka's call graph optimization code to gcj.
|
|
|
|
* libgcj has a new gcjlib URL type; this lets URLClassLoader load code from
|
|
shared libraries.
|
|
|
|
* libgcj has been much more completely merged with GNU Classpath.
|
|
|
|
* Class loading is now much more correct; in particular the caller's class
|
|
loader is now used when that is required.
|
|
|
|
* Eclipse 2.x will run out of the box using gij.
|
|
|
|
* Parts of java.nio have been implemented. Direct and indirect buffers work,
|
|
as do fundamental file and socket operations.
|
|
|
|
* java.awt has been improved, though it is still not ready for general use.
|
|
|
|
* The HTTP protocol handler now uses HTTP/1.1 and can handle the POST method.
|
|
|
|
* The MinGW port has matured. Enhancements include socket timeout support,
|
|
thread interruption, improved Runtime.exec() handling and support for
|
|
accented characters in filenames.
|
|
|
|
*** Changes in GCC 3.3:
|
|
|
|
* The java.sql and javax.sql packages now implement the JDBC 3.0 (JDK 1.4)
|
|
API.
|
|
|
|
* The JDK 1.4 assert facility has been implemented.
|
|
|
|
* The bytecode interpreter is now direct threaded and thus faster.
|
|
|
|
|
|
*** Changes in GCC 3.1:
|
|
|
|
* libgcj now includes RMI, java.lang.ref.*, javax.naming, and
|
|
javax.transaction.
|
|
|
|
* Property files and other system resources can be compiled into executables
|
|
which use libgcj using the new gcj --resource feature.
|
|
|
|
* libgcj has been ported to more platforms. In particular there is now a
|
|
mostly-functional mingw32 (Windows) target port.
|
|
|
|
* JNI and CNI invocation interfaces were implemented, so gcj-compiled Java
|
|
code can now be called from a C/C++ application.
|
|
|
|
* gcj can now use builtin functions for certain known methods, for instance
|
|
Math.cos.
|
|
|
|
* gcj can now automatically remove redundant array-store checks in some common
|
|
cases.
|
|
|
|
* The --no-store-checks optimization option was added. This can be used to
|
|
omit runtime store checks for code which is known not to throw
|
|
ArrayStoreException
|
|
|
|
* The following third party interface standards were added to libgcj:
|
|
org.w3c.dom and org.xml.sax.
|
|
|
|
* java.security has been merged with GNU Classpath. The new package is now
|
|
JDK 1.2 compliant, and much more complete.
|
|
|
|
* A bytecode verifier was added to the libgcj interpreter.
|
|
|
|
* java.lang.Character was rewritten to comply with the Unicode 3.0 standard,
|
|
and improve performance.
|
|
|
|
* Partial support for many more locales was added to libgcj.
|
|
|
|
* Socket timeouts have been implemented.
|
|
|
|
* libgcj has been merged into a single shared library. There are no longer
|
|
separate shared libraries for the garbage collector and zlib.
|
|
|
|
* Several performance improvements were made to gcj and libgcj:
|
|
o Hash synchronization (thin locks)
|
|
o A special allocation path for finalizer-free objects
|
|
o Thread-local allocation
|
|
o Parallel GC, and other GC tweaks
|
|
|
|
*** Changes in GCC 3.0:
|
|
|
|
* 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
|