Linux/AArch64 port

Starting with JDK 9, the JDK has been ported to Linux/AArch64. To understand what this means to us as Java developers, let's talk a bit about hardware.

ARM is a British company that has been creating computing cores and architectures for over three decades. Their original name was Acorn RISC Machine, with RISC standing for Reduced Instruction Set Computer. Somewhere along the way, the company changed its name to Advanced RISC Machine (ARM), and, finally, to ARM Holdings, or just ARM. It licenses its architectures to other companies. ARM reports that there have been over 100 billion ARM processors manufactured.

In late 2011, ARM came out with a new ARM architecture called ARMv8. This architecture included a 64-bit optional architecture called AArch64, which, as you would expect, came with a new instruction set. Here is an abbreviated list of AArch64 features:

  • A64 instruction set:
    • 31 general-purpose 64-bit registers
    • Dedicated zero or stack pointer registers
    • The ability to take 32-bit or 64-bit arguments
  • Advanced SIMD (NEON)-enhanced:
    • 32 x 128-bit registers
    • Supports double-precision floating points
    • AES encrypt/decrypt and SHA-1/SHA-2 hashing
  • New exception system

Oracle did a great job of identifying this architecture as something that needs to be supported in the modern Java platform. The new AArch64 architecture is said to be, essentially, an entirely new design. JDK 9, 10, and 11 have been successfully ported to Linux/AArch64 with the following implementations:

  • Template interpreter
  • C1 JIT compiler
  • C2 JIT compiler
For information about the C1 and C2 JIT compilers, refer to Chapter 14, Command-Line Flags.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset