Release Notes

Java SE for Embedded 6 Runtime Environment

Oct 13, 2010

This document summarizes the functionality and issues of Java SE for Embedded 6. Java SE for Embedded 6 update 21 is based on the Java Platform 6 Update 21, Standard Edition (Java SE 6 Update 21) and provides specific features and support for embedded systems.

To ensure that you have the most recent updates of the technical documents for Java SE for Embedded, check the latest versions on the Java SE for Embedded Product Documentation web site.

Contents

Platform Support

What's New in This Release

Bug Fixes

Comparisons with Standard Java SE

How to Enable Java Plug-In

Release Notes for Previous Releases

Contact Us


Platform Support

 

This release of Java SE for Embedded 6 was tested on Linux for ARM, Power Architecture and x86 systems. The requirements of these systems are specified at Java SE for Embedded System Requirements. For ARM, testing was done on the v5, v6 and v7 architectures. Power Architecture systems based on e600 core and e500v2 core architectures were tested. Headless mode was tested on all systems; headful mode was tested on ARM v7.

Some of the information in this document describes support or issues concerning graphics, window managers, audio, and so forth, and therefore only applies to the ARM v7 headful release.

[Contents]


What's New in This Release

 

Java SE for Embedded 6u21 represents a major step in syncing the JRE for the embedded Linux platforms on ARM, Power Architecture and x86 with the latest release of Java SE. The changes in this release compared with previous releases of Java SE for Embedded depend on the platform. For Power Architecture and x86, the previous Java SE for Embedded release was based on Java SE 5u10; for ARM, the previous Java SE for Embedded release was based on Java SE 6u10.

The Java SE for Embedded 6u21 release adds the following:

  • Multi-Processor Support (new for ARM and Power Architecture; already supported on x86)
  • Performance Enhancements
    • Java SE 6 added a new linear scan register allocator for the Client JIT which results in 10-20 percent performance improvements in throughput benchmarks. For more info, see Java SE 6 Performance Whitepaper.
  • Footprint Improvements (All Platforms)
    • Further optional files removed to reduce permanent storage footprint (i.e. disk/ROM). For example, the disk footprint of the headless JRE for ARM was reduced by 2 megabytes from Java SE 6u10 to Java SE 6u21.
  • Power Conservation (new for Power Architecture and x86; already supported on ARM)
    • Eliminated all polling threads in Hotspot VM which helps reduce CPU usage to 0 percent when Java applications are idle. This can conserve power by enabling the CPU clock to be reduced or suspended. (new for Power Architecture and x86; already supported on ARM)
  • Significant number of RFEs, bug and security fixes merged in from Java SE.
    For more info on the cumulative changes of Java SE 6 releases, see Java SE Update Release Notes.

[Contents]


Bug Fixes

 

Bug Database - In most cases, the bug ID number for each bug fixed is a link to the detailed bug report on the Bug Database (Bug Parade) web site. Bug Database enables you to file your own bug reports, add comments to existing bug reports, and vote for the bugs you consider most important.

The following table lists the bug fixes in Java SE for Embedded 6 Update 21.

BugId Category Subcategory Description
6936715  java embedded Linux-arm: Hotspot disassembler (hsdis) does not run on linux ARM
6959045  java embedded Java embedded hotspot sources do not pass jcheck
6965902  java embedded vm.parallel_class_loading suite fails a lot
6958518  java embedded Optimize IfOp chains when possible in C1 CEE optimization phase
6958521  java embedded ARM: optimize conditional moves which do not change the value of a register in one of the cases
6958524  java embedded ARM: optimize integer division by power of two constants
6941720  java embedded linux-ppc: long shift assumes all input and output registers are not the same
6944160  java embedded linux-ppc: support for e500
6941728  java embedded linux-ppc: give R11 and R12 back to the c1 register allocator
6922033  java embedded JavaSE for Embedded 5.0 for PowerPC crashes in FullGC
6922039  java embedded Disabling biased-locking based on ARM architecture needs to be done before main VM thread creation
6959440  java embedded linux-ppc: e500 fails scimark.fft.large in -XMixed mode
6870489  java embedded linux-arm: intermitting Error: ShouldNotReachHere() (sharedRuntime.cpp:355)
6920946  java embedded linux-arm: implement BiasedLocking for ARM port
6961329  java embedded Backport CR6243940
6971741  java embedded linux-ppc: fix for CR6961329 breaks debug build
6972971  java embedded linux-arm: VFP JIT compiler needs to support register indexed floating point store/load
6973859  java embedded vm JDWP test on Exit command failed ("Debugee has not been terminated by request")
6973139  java embedded PPC: ReserveCodeCacheSize value shall be increased

[Contents]


Comparisons with Standard Java SE

 

Java SE for Embedded derives from Java SE. It can support the same platforms and functionality as Java SE. In addition, Java SE for Embedded provides specific features and support for the embedded market. The embedded-specific features and support include additional platforms, small footprint JREs (optional files removed), headless configurations, and memory optimizations.

All Java SE for Embedded offerings are Java SE compliant.

Java SE for Embedded provides only the 32-bit "client" version of the Java virtual machine; the 64-bit version is not supported, and using the -server option has no effect.

For more information on functionality that is generally common to both Standard Java SE 6 and Java SE for Embedded 6, including the Java language, HotSpot VM, Libraries and Tools, see the Java SE Documentation.

See also the Java SE 6 Release Notes for release information on the Java SE 6 platform.

For more information on functionality that is specific to Java SE for Embedded 6, see SE Functionality Specific for Embedded.

[Contents]


How to Enable Java Plug-In

 

The headful version of Java SE for Embedded 6 on ARM v6/v7 supports the Java™ Plug-in technology. We have verified that it works with the CoolFox web browser; it likely works with the FireFox web browser (on which CoolFox is based) as well. Mozilla's Gecko rendering engine version 1.9.0 FCS or later is required. Non-Mozilla web browsers, including the WebKit rendering engine (used in some non-Mozilla web browsers), are not supported at the time of this writing.

It is important to realize that a symbolic link needs to be created in order to get the Java Plug-in to work. This link points from the browser's plugins directory to the Java Plug-in shared library included in the JRE and it can be created with the following command from a shell:

ln -s <JAVA_HOME>/lib/arm/libnpjp2.so <MOZILLA_DIR>/plugins/libnpjp2.so

In the above command, <JAVA_HOME> represents the directory where you installed the headful Java SE for Embedded 6 bundle (for example, /usr/java/ejre1.6.0_10), and <MOZILLA_DIR> represents the directory where you installed your web browser (for example, /usr/lib/mozilla).

[Contents]


Release Notes for Previous Releases

[Contents]


Contact Us

 

For any inquiries related to the Java SE for Embedded product, whether technical (for example, any problems or bugs encountered) or non-technical (for example, questions or issues related to licensing), please contact the Java SE for Embedded team.

[Contents]


Copyright © 1993, 2010, Oracle and/or its affiliates. All rights reserved.