Who am I, and why am I writing this? My name is Cedric Hansen, and I’m currently in the final week of my summer internship, working on the OpenJ9 GC team, in Ottawa. I’m writing this post to reflect on my experience, and discuss various aspects related to the work I did this summer. Coming…
Category: gc
A Guide to Double Map Arraylets
What are arraylets? When an array or any object is created in a Java program, one of the places the Garbage Collector (GC) stores objects is in the heap. Individual objects are stored in a contiguous block of memory, which makes it easier to reference them. Arrays as such are also stored in a contiguous…
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…
Concurrent Scavenge Garbage Collection Policy
This post is meant to serve as a technical overview of the Concurrent Scavenge (CS) Garbage Collection (GC) policy, from the perspective of a Just-In-Time (JIT) compiler. It explains various CS and GC concepts, serving as background to later discussion on implementation details in JIT compiler’s Code Generator (CodeGen) and Optimizer, as well as the…
GC Internship: Read Barrier Verification
In the fall of 2018, I had the opportunity to intern with OpenJ9’s Garbage Collection (GC) team. OpenJ9 is a Java Virtual Machine (JVM). At the time, I was a fourth year computer engineering student at the University of Waterloo. Before working with the GC team, I had also worked in OpenJ9’s Release Engineering team….
