Comparing Jenkins startup in Docker

Containers are increasingly becoming the preferred way of deploying applications. They facilitate consistency between development and operations, allow for an easy way to build layers for reuse, and make it very easy for users to try out an application without having to deal with setting up all the prerequisites. However, just because applications have moved…

Ahead Of Time Compilation: Validation

This post finally gets to the much alluded to topic of Validation. As mentioned in a previous post, Validation is one of the two actions the JVM must perform to generate and execute AOT code; the other is Relocation, which is described here. What is Validation? In the context of AOT, Validation is the process of…

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?…

Intro to Ahead Of Time Compilation

This post is meant to serve as an introduction to Ahead Of Time (AOT) compilation in OpenJ9. It does not delve too deeply into the technical details and subtleties involved in implementing AOT compilations; these will be covered in future blog posts. In this post, AOT can refer to either the AOT Compilation or the…

Allocating Memory in the Compiler

So you want to work on the JIT compiler in OpenJ9 but it isn’t obvious how use the Compiler’s Memory Manager? Then this is the blog post for you! Background It is important to note that because OpenJ9 is built as an extension of Eclipse OMR (henceforth referred to as OMR), the Compiler Memory Manager in…