1. The code is refreshed to the latest Sun fix level of 1.4.1_07.
2. OJI plugin support for both VisualAge C++ and GCC builds of Mozilla. This includes all versions of Mozilla starting with 1.4 and later. The prior OJI plugin only supported the VisualAge C++ builds which include Mozilla 1.4, Mozilla 1.4.1 and the IBM Web Browser 2.02.
3. Support for all versions of Warp v4, including versions with no fixpack or fixpacks prior to fixpack 13. Prior versions of the JVM only support FP13 and later. Warp v3 is not supported at this time. This
support can be provided for customers willing to fund the required development.
4. Support for both the 16-bit and 32-bit TCPIP stacks. This includes the TCPIP 4.0 (16-bit stack) included in Warp v4 as well as the TCPIP 4.1 and
above (32-bit stacks). Prior versions of the JVM only supported the 32-bit stacks in TCPIP 4.1 and above.
5. JSound now provides a shared sound implementation. This means that
using Java Sound (in both the plugin as well as regular Java applications) will no longer take or require exclusive access to the sound device. As
such, the GCD JVM is now a model citizen in regards to sharing the sound device with other applications. Prior JVM versions provided an exclusive
mode sound implementation that inhibited system sounds and the use of sound in Java applets or applications with other OS/2 native applications
that required sound.
6. Major DBCS improvements. This includes the addition of a complete Input Method implementation, support and testing on Simplified Chinese, Japanese and Korean NLS versions and many DBCS related fixes. The DBCS implementation is nearly complete (especially in Swing and the base J2SE)
with the exception the AWT where the support in the native controls is not well tested. Complete testing and support of DBCS including all AWT native
controls can be provided for customers willing to fund the required development.
7. JVMSTAT and VisualGC tool support. These are "AS IS" tools provided by Sun to visually inspect a running JVM's internal status, with a special
focus on statistics and heap/garbage collection. These tools can be invaluable for analyzing an application's interaction with the Java heap.
These are a very powerful set of tools with minimal production/performance impact. As such they can be used in situations where the other debugging or profiling interfaces cause too much intrusion into the application to be useful. These tools are also very easy to use, so they may be of great value without having to learn a more complicated approach to debugging or analysis.
8. Support for dynamic thread state dumping. Using a new "AS IS" tool from GCD (dumpthreads.exe), one can cause a running JVM to generate a
complete thread dump of the state of every thread (native VM threads and Java threads) to the console. All Java threads will display a complete
stack trace and the JVM does a deadlock analysis. If the JVM finds a deadlock, additional information is displayed showing the exact threads
that are deadlocked, the resources they are waiting for, the thread and specific Java method in the stack trace that owns those resources. With
this deadlock analysis, days of debugging can be eliminated as deadlock problems become much more obvious. In addition, this tool can be used on a
running JVM without any prior preparation (e.g. no additional -X options to turn on debug). Note that this tool does have limitations as documented in the readme.
9. Process launching options are now provided on a per-JVM basis. This includes foreground/background control and control over window visibility
attributes. This is an exclusive feature of the GCD JVM. One now has complete control over how these attributes are set in child processes.
Different JVMs on the same system can have a different (global) setting. All child processes launched from the same JVM will inherit the same launching options.
10. Font pathing and processing improvements. The PM_Fonts application in the OS2.INI is now used to create the default font paths which Java2D uses
for finding fonts. In addition, new environment variables have been added to allow the user to override this processing in various ways. Safe
processing has been added to avoid loading OS/2 fonts that the Sun Java2D font engine cannot handle properly.
11. Printing subsystem improvements. The printing subsystem has been enhanced in the area of options processing, especially in the case of non-US locales. Many print options related defects have been resolved.
12. Additional customization and configuration options. Some new options have been added to the JVM. Examples include an experimental -X option to
set the Java to native thread-priority mappings (not for use in production environments), an environment variable to allow operation on pre-Pentium CPUs (not for use in production environments) and a -X option to display the native stack utilization at JVM exit.
13. Improved documentation. A great deal of information has been added to the GCD JVM specific readme files. In addition, a much larger selection of
tools documentation is now included with the standard J2SE API JavaDoc.
In addition to these enhancements, many fixes have been made to resolve the majority of the open issues found by customers or in internal testing by Golden Code Development.
|