Part of addressing JDK-8160369 involves examining and possibly fixing all uses of Klass::klass_or_null(). ParNew uses klass_or_null() in a few places. However, all of these uses of klass_or_null() are semantically incorrect. ParNew sometimes collects a list of some from-space objects, using the klass "field" as the next link in the list. JDK-6964458 introduced set_klass_to_list_ptr() and list_ptr_from_klass() to package up this usage. These were used to replace the direct uses of set_klass() and klass() respectively. However, uses of klass_or_null() were not updated, even though in the places where it is being used (by ParNew) the object it is being applied to is in that linked-through-klass list, so the result is never a Klass, but instead is the next element in the list, a special list marker (BUSY), or NULL.