Cgroup Metrics – now available in Javacore

  Eclipse OpenJ9 can now provide Linux cgroup information as part of a Java dump file, commonly known as a javacore. This can be very handy to debug clearly by having the information about the environment in which JVM is running and if JVM is aware of the limits imposed by the environment etc. In…

Categoriesvm

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…

Adaptive Spinning

This is blog 5 in the OpenJ9 locking/synchronization series (blog 1). This blog covers OpenJ9’s adaptive spinning strategy which dynamically enables/disables lock spinning using heuristics in order to avoid the negative impact of lock spinning. Before reading this blog, one needs to know about the system-monitors (blog 2), object-monitors (blog 3) and three-tier spinning (blog…

Categoriesvm

Lock Nursery

This is blog 6 in the OpenJ9 locking/synchronization series (blog 1). It covers a memory optimization within OpenJ9 related to the object-monitors (blog 2), which are used to enforce synchronization for the Java objects. Before reading this blog, one needs to have knowledge about the object-monitors. Please read the blog on the object-monitors before reading…

Categoriesvm

Object-Monitor Implementation

This is blog 3 in the OpenJ9 locking/synchronization series (blog 1). It covers a data structure named object-monitor which is used to enforce synchronization for the Java objects. Before reading this blog, one needs to have knowledge about the system-monitors (blog 2). Please read the blog on the system-monitors before reading this blog. In OpenJ9,…

Categoriesvm