| *** Changes in GCC 4.1: |
| |
| Core library (libgcj) updates based on GNU Classpath 0.15 - 0.19+ |
| |
| - Networking |
| |
| * The java.net.HttpURLConnection implementation no longer buffers the |
| entire response body in memory. This means that response bodies |
| larger than available memory can now be handled. |
| |
| - (N)IO |
| |
| * NIO FileChannel.map implementation, fast bulk put implementation for |
| DirectByteBuffer (speeds up this method 10x). |
| |
| * FileChannel.lock() and FileChannel.force() implemented. |
| |
| - XML |
| |
| * gnu.xml fix for nodes created outside a namespace context. |
| |
| * Add support for output indenting and cdata-section-elements output |
| instruction in xml.transform. |
| |
| * xml.xpath corrections for cases where elements/attributes might have |
| been created in non-namespace-aware mode. Corrections to handling of |
| XSL variables and minor conformance updates. |
| |
| - AWT |
| |
| * Qt4 configury switches for OS-X. Additional to the --enable-qt-peer, OS-X |
| users with a Qt4 installation can build the qt-peers with the argument |
| --with-qt4dir=<Qt4-installation-dir>. |
| |
| * GNU JAWT implementation, the AWT Native Interface, which allows direct |
| access to native screen resources from within a Canvas's paint method. |
| GNU Classpath Examples comes with a Demo, |
| see libjava/classpath/examples/README. |
| |
| * awt.datatransfer updated to 1.5 with supports for FlavorEvents. |
| The gtk+ awt peers now allow copy/paste of text, images, uris/files |
| and serialized objects with other applications and tracking |
| clipboard change events with gtk+ 2.6 (for gtk+ 2.4 only text and |
| serialized objects are supported). A GNU Classpath Examples |
| datatransfer Demo was added to show the new functionality. |
| |
| * Split gtk+ awt peers event handling in two threads and improve gdk lock |
| handling (solves several AWT lock ups). |
| |
| * Speed up awt Image loading. |
| |
| * Better GTK scrollbar peer implementation when using GTK >= 2.6. |
| |
| * Handle image loading errors correctly for gdkpixbuf and MediaTracker. |
| |
| * Better handle GDK lock. Properly prefix gtkpeer native functions (cp_gtk). |
| |
| * GdkGraphics2D has been updated to use Cairo 0.5.x APIs. |
| |
| * BufferedImage and GtkImage rewrites. All image drawing operations |
| should now work correctly (flipping requires gtk+ >= 2.6) |
| |
| * Future Graphics2D, Image and Text work is documented at: |
| http://developer.classpath.org/mediation/ClasspathGraphicsImagesText |
| |
| * When gtk+ 2.6 or higher is installed the default log handler will produce |
| stack traces whenever a WARNING, CRITICAL or ERROR message is produced. |
| |
| - Free Swing |
| |
| * The Swing RepaintManager has been reworked for more efficient painting, |
| especially for large GUIs. |
| |
| * The Swing layout manager OverlayLayout has been implemented, the BoxLayout |
| has been rewritten to make use of the SizeRequirements utility class and |
| caching for more efficient layout. |
| |
| * Improved accessibility support for Swing. |
| |
| * Significant progress has been made in the implementation of the |
| javax.swing.plaf.metal.* package, with most UI delegates in a working state |
| now. Please test this with your own applications and provide feedback that |
| will help us to improve this package. |
| |
| * The GUI demo (gnu.classpath.examples.swing.Demo) has been extended to |
| highlight various features in our free-swing implementation. And includes |
| a look and feel switcher (Metal default, Ocean or GNU). |
| |
| * The javax.swing.plaf.multi.* package is now implemented. |
| |
| * Editing and several key actions for JTree and JTable were implemented. |
| |
| * Lots of icons and look and feel improvements for Free Swing basic and |
| metal themes were added. Try running the GNU Classpath Swing Demo in |
| examples (gnu.classpath.examples.swing.Demo) with: |
| -Dswing.defaultlaf=javax.swing.plaf.basic.BasicLookAndFeel |
| -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel |
| |
| * Start of styled text capabilites for java.swing.text. |
| |
| * DefaultMutableTreeNode preorder, postorder, depthFirst and breadthFirst |
| traversal enumerations implemented. |
| |
| * JInternalFrame colors and titlebar draw properly. |
| |
| * JTree is working up to par (icons, selection and keyboard traversal). |
| |
| * JMenus were made more compatible in visual and programmatic behavior. |
| |
| * JTable changeSelection and multiple selections implemented. |
| |
| * JButton and JToggleButton change states work properly now. |
| |
| * JFileChooser fixes. |
| |
| * revalidate and repaint fixes which make Free Swing much more responsive. |
| |
| * MetalIconFactory implemented. |
| |
| * Free Swing Top-Level Compatibility. JFrame, JDialog, JApplet, |
| JInternalFrame, and JWindow are now 1.5 compatible in the sense that you |
| can call add() and setLayout() directly on them, which will have the same |
| effect as calling getContentPane().add() and getContentPane().setLayout(). |
| |
| * The JTree interface has been completed. JTrees now recognizes mouse clicks |
| and selections work, but the visual implementation is not yet complete. |
| Work on expansion and collapsing of the tree nodes is being implemented. |
| |
| * BoxLayout works properly now. |
| |
| * Fixed GrayFilter to actually work. |
| |
| * Metal SplitPane implemented. |
| |
| * Lots of free swing text and editor stuff work now. |
| |
| - Free RMI and Corba |
| |
| * The Andrew Watson, Vice President and Technical Director of the Object |
| Management Group, has officially assigned us 20 bit Vendor Minor Code Id: |
| 0x47430 ("GC") that will mark remote Classpath - specific system exceptions. |
| Obtaining the VMCID means that GNU Classpath now is a recogniseable type of |
| node in a highly interoperable CORBA world. |
| |
| * Classpath now includes the first working draft to support the RMI over |
| IIOP protocol. The current implementation is capable for remote invocations, |
| transferring various Serializables and Externalizables via RMI-IIOP protocol. |
| It can flatten graphs and, at least for the simple cases, is interoperable |
| with Sun's jdk 1.5. |
| |
| * org.omg.PortableInterceptor and related functionality in other packages |
| is now implemented: |
| - The sever and client interceptors work as required since 1.4. |
| - The IOR interceptor works as needed for 1.5. |
| |
| * The org.omg.DynamicAny package is completed and passes the prepared tests. |
| |
| * The Portable Object Adapter should now support the output of the |
| recent IDL to java compilers. These compilers now generate servants and |
| not CORBA objects as before, making the output depended on the existing |
| POA implementation. Completing POA means that such code can already be |
| tried to run on Classpath. Our POA is tested for the following usager |
| scenarios: |
| - POA converts servant to the CORBA object. |
| - Servant provides to the CORBA object. |
| - POA activates new CORBA object with the given Object Id (byte array) |
| that is later accessible for the servant. |
| - During the first call, the ServantActivator provides servant for this |
| and all subsequent calls on the current object. |
| - During each call, the ServantLocator provides servant for this call |
| only. |
| - ServantLocator or ServantActivator forwards call to another server. |
| - POA has a single servant, responsible for all objects. |
| - POA has a default servant, but some objects are explicitly connected |
| to they specific servants. |
| The POA is verified using tests from the former cost.omg.org. |
| |
| * The CORBA implementation is now a working prototype that should support |
| features up till 1.3 inclusive. |
| We would invite groups writing CORBA dependent applications to |
| try Classpath implementation, reporting any possible bugs. |
| |
| The CORBA prototype is interoperable with Sun's implementation v 1.4, |
| transferring object references, primitive types, narrow and wide |
| strings, arrays, structures, trees, abstract interfaces and |
| value types (feature of CORBA 2.3) between these two platforms. |
| The remote exceptions are transferred and handled correctly. |
| The stringified object references (IORs) from various sources are |
| parsed as required. |
| The transient (for current session) and permanent (till jre restart) |
| redirections work. |
| Both Little and Big Endian encoded messages are accepted. |
| The implementation is verified using tests from the former cost.omg.org. |
| The current release includes working examples (see the examples directory), |
| demonstrating the client-server communication, using either CORBA Request |
| or IDL-based stub (usually generated by a IDL to java compiler). |
| These examples also show how to use the Classpath CORBA naming service. |
| The IDL to java compiler is not yet written, but as our library must be |
| compatible, it naturally accepts the output of other idlj implementations. |
| |
| - Misc |
| |
| * Updated TimeZone data against Olson tzdata2005l. |
| |
| * Make zip and jar UTF-8 "clean". |
| |
| * "native" code builds and compiles (warning free) on Darwin and Solaris. |
| |
| * java.util.logging.FileHandler now rotates files. |
| |
| * Start of a generic JDWP framework in gnu/classpath/jdwp. |
| This is unfinished, but feedback (at classpath@gnu.org) from runtime |
| hackers is greatly appreciated. Although most of the work is currently |
| being done around gcj/gij we want this framework to be as VM neutral as |
| possible. Early design is described in: |
| http://gcc.gnu.org/ml/java/2005-05/msg00260.html |
| |
| * QT4 AWT peers, enable by giving configure --enable-qt-peer. |
| Included, but not ready for production yet. They are explicitly |
| disabled and not supported. But if you want to help with the |
| development of these new features we are interested in feedback. You |
| will have to explicitly enable them to try them out |
| (and they will most likely contain bugs). |
| |
| * Documentation fixes all over the place. |
| See http://developer.classpath.org/doc/ |
| |
| Thanks! The following people helped with the above new features, bug |
| reports, testing and integration: |
| |
| Aaron Luchko (JDWP updates and documentation fixes) Andreas Jaeger |
| (mprec updates) Andreas Tobler (Darwin and Solaris testing and fixing, |
| Qt4 support for Darwin/OSX, Graphics2D support, gtk+ updates.) Andrew |
| Haley (Serialization and URLClassLoader fixes, gcj build speedups) |
| Andrew John Hughes (Locale and net fixes, URI RFC2986 updates, |
| Serialization fixes, Properties XML support and generic branch work, |
| VMIntegration guide update) Andrew Overholt (File locking) Anthony |
| Balkissoon (JList, Free Swing 1.5 updates and mouse event fixes, Lots |
| of Free Swing work including JTable editing) Anthony Green (MIDI |
| framework, ALSA and DSSI providers) Archie Cobbs (Build fixes, VM |
| interface updates, URLClassLoader updates) Audrius Meskauskas (Lots of |
| Free Corba, RMI and HTML work plus testing and documenting) Bastiaan |
| Huisman (TimeZone bug fixing) Bryce McKinlay (RMI work) Casey Marshall |
| (Crypto algorithm fixes, FileChannel lock, SystemLogger and |
| FileHandler rotate impl, NIO FileChannel.map support, security and |
| policy updates) Chris Burdess (Lots of gnu.xml and http protocol |
| fixes, StAX and dom xml:id support) Christian Schlichtherle (Zip fixes |
| and cleanups) Christian Thalinger (64-bit cleanups, Configuration and |
| VM interface fixes and CACAO integration, fdlibm updates) Dalibor |
| Topic (Better DEBUG support, Build cleanups and Kaffe integration. Qt4 |
| build infrastructure, SHA1PRNG and GdkPixbugDecoder updates) Daniel |
| Bonniot (Serialization fixes) David Daney (BitSet bugfixes, |
| HttpURLConnection rewrite and improvements) David Gilbert (Basic and |
| Metal icon and plaf and lots of documenting, Lots of Free Swing and |
| metal theme additions. MetalIconFactory implementation) David |
| Lichteblau (JCL support library global/local reference cleanups) Gael |
| Thomas (VMClassLoader boot packages support sugestions) Gary Benson |
| (MessageFormat fixes) Goffredo Baroncelli (HTTPURLConnection fixes) |
| Guilhem Lavaux (Configuration, thread and channel fixes and Kaffe |
| integration. JCL native Pointer updates. Logger bug fixes) Ingo |
| Proetel (Image, Logger and URLClassLoader updates) Ito Kazumitsu |
| (NetworkInterfaces implementation and updates) Jan Roehrich |
| (BasicTreeUI and JTree fixes) Jeroen Frijters (ClassLoader and nio |
| cleanups, Serialization fixes, better Proxy support, bug fixes and |
| IKVM integration) Julian Scheid (Documentation updates and gjdoc |
| support) Ka-Hing Cheung (TreePath and TreeSelection fixes) Kalle Olavi |
| Niemitalo (Build fixes) Keith Seitz (Lots of JDWP work) Kelley Cook |
| (Build fixes) Kim Ho (JFileChooser implementation) Lillian Angel |
| (JTree implementation and lots Free Swing additions and bug fixes) |
| Mark Wielaard (Bug fixes, packaging and release management, Clipboard |
| implementation, System call interrupts and network timeouts and |
| GdkPixpufDecoder fixes) Martin Cordova (Suggestions for better |
| SocketTimeoutException) Michael Koch (Configuration fixes. Locale |
| updates, bug and build fixes) Nicolas Geoffray (VMClassLoader and |
| AccessController improvements) Olga Rodimina (MenuSelectionManager) |
| Paul Jenner (Better -Werror support) Rainer Orth (Build fixes) Robert |
| Schuster (Documentation updates and beans fixes, TreeNode enumerations |
| and ActionCommand and various fixes, XML and URL, AWT and Free Swing |
| bug fixes) Roman Kennke (BoxLayout, GrayFilter and SplitPane, plus |
| bugfixes all over. Lots of Free Swing work including styled text) |
| Santiago Gala (AccessControlContext fixes) Simon Kitching (String |
| cleanups and optimization suggestions) Stuart Ballard (RMI constant |
| fixes) Sven de Marothy (BMP imageio support, CSS and TextLayout |
| fixes. GtkImage rewrite, 2D, awt, free swing and date/time fixes, Qt4 |
| peers) Thomas Fitzsimmons (Lot of upgrades to the gtk+ AWT and cairo |
| 2D support. Lots of imageio framework additions, lots of AWT and Free |
| Swing bug fixes) Tom Tromey (Eclipse integration, generics work, lots |
| of bug fixes and gcj integration including coordinating The Big Merge) |
| Wolfgang Baer (GapContent bug fixes) Ziga Mahkovec (Graphics2D |
| upgraded to cairo 0.5 and new regex features) |
| |
| *** Changes in GCC 4.0: |
| |
| * Character encoders and decoders have been added for: iso-8859-6 |
| (arabic), iso-8859-7 (greek), iso-8859-8 (hebrew), iso-8859-9 |
| (latin-5), iso-8859-13, iso-8859-15 (latin-9), cp1047 (ebcdic), |
| ebcdic-xml-us,ascii, windows-1250, windows-1252, UTF-16BE (Big Endian), |
| UTF-16LE (Little Endian), UTF-32BE (Big Endian), UTF-32LE (Little |
| Endian). |
| |
| * Lots of Calendar bug fixes. |
| |
| * The http url protocol handler has been replaced with a full HTTP/1.1 |
| version from GNU inetlib. |
| |
| * A new ftp url protocol handler has been added also from GNU inetlib. |
| |
| * java.beans has been updated to 1.4 including support for XMLEncoder |
| and XMLDecoder. |
| |
| * Added implementations of javax.xml (JAXP 1.3), org.xml.sax (SAX2) |
| and org.w3c.dom (DOM Level 3) interfaces. It is possible to switch |
| between different implementations AElfred2, GNU DOM, GNU XSL, libxmlj |
| SAX, libxmlj DOM and libxmlj XSL by setting different system |
| properties. Also provided is a preliminary XPath 1.0 |
| implementation. The libxmlj versions are build around libxml2 and |
| libxslt and have to be enabled during build time by the --enable-xmlj |
| configure flag. The current support is equal to the last released GNU |
| JAXP 1.3 release. These packages will be maintained as part of the GNU |
| Classpath core classes in the future. For more information, |
| conformance results and documentation on selecting different |
| implementations see doc/README.jaxp. |
| |
| * Much fuller collection documentation. |
| |
| * libgcj can now load service providers that are described via |
| META-INF/services/* resources in extension JARs. This is useful for |
| implementing the various APIs that are supposed to be extensible via |
| custom plugins. For details, please see the documentation of |
| gnu.classpath.ServiceFactory. |
| |
| * GNU Classpath's JAR implementation now has preliminary support for |
| signed entries, for so called "signed JAR" file support. Signed JAR |
| files are one of the key security features of managed runtimes, and |
| allows code to run privileged given unforgeable proofs of identity. |
| |
| * A much improved version of X.509 certificates has been added, |
| including a robust certificate path checking algorithm. Also included |
| is an implementation of the RSA signature scheme. |
| |
| * New javax.crypto, javax.crypto.interfaces, javax.crypto.spec, |
| javax.net, javax.net.ssl, javax.security.auth, |
| javax.security.auth.callback, javax.security.auth.login, |
| javax.security.auth.x500, javax.security.sasl and org.ietf.jgss |
| packages are now officially part of GNU Classpath. Extra crypto |
| algorithms can be obtained from the GNU Crypto project, a full TLS |
| implementation is provided by the Jessie project. |
| http://www.gnu.org/software/gnu-crypto/ |
| http://www.nongnu.org/jessie/ |
| |
| * java.security.AccessController has been implemented. |
| |
| * The default java.lang.SecurityManager now uses AccessController. |
| |
| * Lookahead support for regular expressions. |
| |
| * java.util.regexp implementation through gnu.regexp wrappers. |
| |
| * Serialization object stream fixes for multiple ClassLoader scenarios. |
| |
| * java.net.URL now uses application classloader to load |
| URLStreamHandlers and reuses URLStreamHandlers when URL is reset (but |
| protocol isn't changed). |
| |
| * java.io.File.deleteOnExit() implementation. |
| |
| * java.io is now implemented by delegating most tasks directly to |
| java.nio. |
| |
| * Reworked/Optimized implementations of java.nio.Buffer and subclasses. |
| |
| * BufferedReader speed improvements. |
| |
| * Multiple java.net.InetAdress fixes and java.rmi fixes. |
| |
| * ServerSocket.accept() now restarts listening when system call |
| interrupted. |
| |
| * java.net.URI implementation. |
| |
| * New javax.print, javax.print.attribute[.standard] and |
| javax.print.event packages and classes. |
| |
| * java.text multiple new features and bug fixes (only 2 out of the |
| 1000+ java.text Mauve tests now fail). |
| |
| * java.text attributed iterators support. |
| |
| * Improved useabilty of java.text implementation for several |
| applications. |
| |
| * More AWT accessible support. |
| |
| * AWT gtk+ peers component layout, dialog placement, keyboard focus |
| handling and text positioning have been improved. |
| |
| * ImageIO interfaces are more complete. |
| |
| * JList, JTable and JTree have been hugely improved. |
| |
| * java.awt.Robot support with GdkRobot in the gtk+ awt peers. Needs |
| XTest Extension (libXtst) XServer support. |
| |
| * Full java.awt.color implementation, with all standard ICC profiles, |
| except for PhotoYCC color space. |
| |
| * java.awt.image support updated to 1.4. |
| |
| * Big-endian (PowerPC) fixes for native awt GTK+ peers. |
| |
| * Better AWT focus management fro GTK+ peers. |
| |
| * Much faster and better fonts support (for both gdk Graphics and cairo |
| Graphics2D) |
| |
| * AWT Choice fixes for hidden components. |
| |
| * More javax.imageio support. |
| |
| * Better AWT Help MenuBar support. |
| |
| * Swing TabbedPane, ColorChooser and ComboBox improvements. |
| |
| * Start of JTree functionality. |
| |
| * javax.swing.Spring and SpringLayout support. |
| |
| * Added pluggable look and feel support for BasicTextFieldUI and |
| BasicToolBarSeparatorUI. |
| |
| * java.swing.text support for (Default and Layered) Highlighter, |
| FieldView, PlainView, TabExpander and TabableView added. |
| |
| * Start of JTable and JTree implementation. |
| |
| * Internal Swing frames work. |
| |
| * JMenu and JPopupMenu work. |
| |
| * New gtk+ AWT FileDialog peer now based on gtk+2.4 or higher. |
| |
| * java.awt.image LookupTables and kernel support. |
| |
| * Improved java.awt.image.BufferedImage support. |
| |
| * AWT 1.0 event model support. |
| |
| * Frame.setIconImage() support. |
| |
| * AWT GDKGraphics scaling. |
| |
| * New configure flag --enable-gtk-cairo to build Graphics2D |
| implementation build on cairo and pangoft2. Enabled at runtime by |
| defining the system property gnu.java.awt.peer.gtk.Graphics=Graphics2D. |
| |
| * javax.swing.JSpinner implemented. |
| |
| * java.awt.geom completed. Area, Arc2D, Ellipse2D and Line2D |
| implemented. |
| |
| * JColorChooser, JComboBox and JTextField implemented, including |
| example uses in GNU Classpath Examples swing Demo. |
| |
| * Better (non-black) default AWT System colors. |
| |
| * AWT lists use GTK treeviews. |
| |
| * Proper AWT focus management has been implemented. |
| |
| * Swing menus and scrollpanes are beginning to work. |
| |
| * Swing splitpanes, dialogs and internal frames were added. |
| |
| * Swing repainting / double buffering was redone. |
| |
| * Font management and Pango DPI conversion fixes. |
| |
| * A lot of AWT imaging and event bugs have been picked out. |
| |
| * More of javax.swing.text has been implemented. |
| |
| * javax.swing.Timer has been reimplemented. |
| |
| * The gnu.java.awt.EmbeddedWindow class has been improved, and now |
| supports embedding AWT windows in other top-level X windows. This |
| functionality is required by gcjwebplugin. |
| |
| * New javax.imageio, javax.imageio.event and javax.imageio.spi packages |
| and classes. |
| |
| * Working implementation of javax.swing.undo. |
| |
| * java.awt.geom.CubicCurve2D/QuadCurve2D: Can now solve cubic and |
| quadratic equations; implementation adapted from the GNU Scientific |
| Library. |
| |
| * Lots of java.awt and gtk+ peer improvements. Also more Swing work. |
| Start of EmbeddedWindow support. |
| |
| *** 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 |