Changes in Tril

This post describes my fall 2019 internship in the Eclipse OpenJ9 team. After 4-months study term at school, I was excited to return to the team. I joined the OMR team and got the chance to work on Tril (the Testarossa Intermediate Language). Tril is a Domain Specific Language (DSL) for generating the Testarossa Intermediate Language…

Debugging Java Applications using Watched Fields

Debugging can be quite tedious, complex and cumbersome. Detailed within this blog we will explore how to make Java debugging a bit easier by leveraging the JVM’s embedded debugging tools. Native C/C++ debuggers utilize operating system hooks to debug an application. The Java Virtual Machine (JVM) includes it’s own unique and powerful toolkit for debugging;…

Inspecting OpenJ9 performance with perf on Linux – JIT Compiled Methods

In the first post of this series we learned how to profile modules within the JVM itself using perf. This is useful for diagnosing JVM related problems. However in typical applications the user application code (JCL included) will dominate the profile, so it is often desirable to want to profile the user application code as…

OpenJ9 internship: making JIT a cloud service

Why am I writing this? It’s been a year since the start of my internship with Eclipse OpenJ9 team. During this time, I’ve learned so much about compilers, cloud computing, working with a team, and even found a new hobby. Today, I want to reflect on this experience and tell you what it’s like to…

Brief Intro to JITaaS and Double Map

Continuing my team’s work from the 2018 Extreme Blue (EB) term, I spent the first two weeks of my co-op wrapping up our JITaaS project so that it could be merged. During EB, my team was responsible for implementing a prototype for JITaaS (Just in Time Compiler as a Service). Runtimes are comprised of various…