ARM's new, 64 bit ARMv8 architecture, is a break from the past in two
regards. The change of scale from 32 to 64 bit implies a broadening of
ARM's target market from (mostly) embedded devices to address the
requirements of high end consumer devices and servers. The 64 bit mode
(AArch64) programming model is significantly different from the existing
32 bit model. If ARM's change of direction does indeed grab a
significant share of this market then there are two corresponding
implications for the Free Java community. We need a high quality free
Java implementation to ensure that the market is not colonised solely by
commercial Java vendors. We need to provide this implementation from
scratch rather than try to modify existing 32 bit Java implementations.
Red Hat has decided to port OpenJDK to AArch64 precisely to meet these
implications head on.
This talk will describe the significant progress we have made in porting
OpenJDK to AArch64 since the project began in earnest in July 2012, even
though real hardware is not yet available and will not be for many
months to come.
During the talk we will:
outline our plan for converting the runtime JIT components of OpenJDK
to generate AArch64 code -- the (generated AArch64 code) template
interpreter and the C1/C2 JIT compilers
explain how we have already managed to execute and debug generated ARM
code using our own ARMv8 functional simulator integrated into an x86 JVM
display execution of a Java program using the template interpreter
running on our simulator
show both ARM instruction-level and Java bytecode-level stepping and
debugging of generated code within gdb