--- old/src/share/vm/runtime/biasedLocking.cpp 2017-03-08 11:11:19.459715261 -0500 +++ new/src/share/vm/runtime/biasedLocking.cpp 2017-03-08 11:11:19.084302875 -0500 @@ -42,9 +42,13 @@ static GrowableArray* _preserved_oop_stack = NULL; static GrowableArray* _preserved_mark_stack = NULL; -static void enable_biased_locking(Klass* k) { - k->set_prototype_header(markOopDesc::biased_locking_prototype()); -} +class EnableBiasedLocking : public KlassClosure { + void do_klass(Klass* k) { + if (k->is_instance_klass()) { + k->set_prototype_header(markOopDesc::biased_locking_prototype()); + } + } +}; class VM_EnableBiasedLocking: public VM_Operation { private: @@ -58,7 +62,8 @@ void doit() { // Iterate the system dictionary enabling biased locking for all // currently loaded classes - SystemDictionary::classes_do(enable_biased_locking); + EnableBiasedLocking enable_biased_locking; + ClassLoaderDataGraph::loaded_classes_do(&enable_biased_locking); // Indicate that future instances should enable it as well _biased_locking_enabled = true;