OpenJ9 shared classes with Eclipse Equinox 4.9+

The blog post Eclipse OpenJ9 performance; a bake-off on Windows mentions the Class Data Sharing (CDS) adapter required to enable OpenJ9 shared classes support for the OSGi Equinox framework. Since Eclipse Equinox 4.9 2018-09, the CDS adapter is included with Equinox builds. When running with an Eclipse OpenJ9 JVM, to enable shared classes support for the…

Shared classes cache now supports fat jar

Recently OpenJ9 extended the class sharing feature to include fat jars (issue here). Starting from v0.9.0, applications running with fat jar, like Spring Boot, will now also benefit from the faster start-up time and reduced memory footprint from the class sharing feature of Eclipse OpenJ9. OpenJ9 class sharing The class sharing feature of Eclipse Openj9…

Categoriesvm

Introducing option builder tools for -Xdump and -Xtrace

OpenJ9 provides some powerful command line options for troubleshooting problems with Java applications at runtime. – The -Xdump option is used to control the use of dump agents, which produce dump files such as Java dumps, heap dumps, and system (core) dumps. – The -Xtrace option can be used to trace Java applications, methods, and…

Categoriesvm

Ahead Of Time Compilation: Relocation

This post describes Relocation; as mentioned in the previous post, it is one of the two actions the JVM must perform to generate and execute AOT code. Because Validations are a bit more involved, we first focus on the task of relocating code before delving into the complexities and subtleties of validations. What is Relocation?…

CategoriesUncategorized

Inspecting OpenJ9 performance with perf on Linux

Performance is critical to software. Software must perform better than its competitors to gain a competitive edge and acquire a greater market share. Improving performance and resolving performance regression issues for large software systems can be challenging and time consuming. Profiling tools such as Linux perf can help substantially reduce the time to evaluate and…