"Inner Workings of Safepoints" ( 2024 )

Saturday at 17:50, 15 minutes, UB5.132, UB5.132, Free Java devroom Johannes Bechberger , slides , video

A Java thread in the JVM regularly checks whether it should do extra work besides the execution of the bytecode. This work is done during so-called safepoints. There are two types of safepoints: local and global. This allows the JVM to do activities like method deoptimizations or stop-the-world garbage collections, where the amount of concurrency should be limited. But how do they actually work?

This talk covers the implementation of global and local safepoints in the OpenJDK