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

OpenJ9 Internship: Auto detection and Web Projects

This post describes my winter 2019 internship in the Eclipse OpenJ9 team. At the time of writing, I am a second-year computer science student at the University of Waterloo. This was my first co-op term, so I was excited to utilize the knowledge learned from university in a real-world programming project. The first part of…

New DDR Extensions and ValueTypes

This blog is intended to serve as a technical overview of current Direct Dump Reader (DDR) implementation and an instruction to add new DDR extensions. It is the responsibility of Eclipse OpenJ9 developers to modify DDR whenever there are some changes in J9VM. Additionally, I briefly introduce memory layouts of ValueTypes in J9VM and a…

TestKitGen: One Framework to Rule Them All

Apologies in advance, during this brief overview of the test framework that drives the testing of JVMs at OpenJ9 and AdoptOpenJDK projects, I may occasionally lapse into Tolkienesque references. One of our OpenJ9 developers and expert in all things ‘TestKitGen’-related, Renfei Wang delivers a brief overview of TestKitGen that conveys essential information for any developer needing to…