Java SE Server Compiler now Available on ARM

Hardware and software development is going full-steam ahead for ARM servers.  After Calxeda and AppliedMicro server SoCs – based respectively on Cortex A9 and ARMv8 architecture – have been announced and Ubuntu focusing further ARM development on Servers (Calxeda, Marvell and ARMv8), Oracle has released the Java SE server compiler – a throughput optimizing JIT compiler –  for ARMv7. The ARMv7 server compiler is part of Java SE for Embedded 7 Update 2.

First, some quick explanations on the 2 JIT compilers available for Java SE:

  • Client: The client compiler is a fast start-up, lightly optimizing compiler. It’s better suited for smaller footprint systems and those running applications that require fast start-up such as Android applications.
  • Server:  The server compiler is optimizing code for throughput and produces highly-optimized code but incurs a start-up cost in achieving that.

The server compiler only works on ARMv7 processors with hardfloat (VFPv3 FPU), and  initial server compiler tests on ARMv7 showed improvements between 19 to 40% compared with the client compiler.

Oracle Server Compiler Benchnark
CaffeineMark 3 Benchmark Client vs Server JIT on Pandaboard (Click to Enlarge)

There are even individual test results that show an insane 152 times performance improvement between the server and client compiler (CaffeineMark 3 Logic Test on Pandaboard).

Java SE for Embedded 7u2 also contains serviceability enhancements, performance improvements and bug fixes. Oracle also released Java SE for Embedded 6u30 (ARMv6/ARMv7) which includes performance improvements and bug fixes.

The two releases of Java SE for Embedded for ARM support the following:

  • Latest features and fixes of standard SE
  • Headless support for ARMv5 soft-float and ARMv6/v7 hard-float
  • Headful support for ARMv7
  • Multi-core support for ARMv7
  • Server JIT compiler support for ARMv7 (7u2 release only)

You can download  Java SE Embedded 7u2 and 6u30 to run them on your ARM board(s).

Here are the requirements to run the latest JAVA SE for embedded 7 on different ARM architecture:

Java SE for Embedded 7 on ARM EABI, Little-Endian, Linux

CPU ARM v5 ARM v6/v7 ARM v7

OS* Linux: kernel 2.6.28 or higher; glibc 2.9 or higher Linux: kernel 2.6.28 or higher; glibc 2.9 or higher Linux: kernel 2.6.28 or higher; glibc 2.9 or higher

FP Soft Float Hard Float (VFP) Hard Float (VFP)

Headful No No Yes. X11R6 or higher

RAM 32MB or more for Java 32MB or more for Java 64MB or more for Java

ROM/Flash/Disk 41MB or more for Java 41MB or more for Java 48MB or more for Java

For further details,  you can read the release notes for Java SE Embedded 7u2 and Java SE Embedded 6u30 on Oracle website.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard
Notify of
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
Khadas VIM4 SBC