--- old/src/share/vm/classfile/classLoaderData.cpp 2015-10-14 13:53:52.104424209 +0200 +++ new/src/share/vm/classfile/classLoaderData.cpp 2015-10-14 13:53:51.988427014 +0200 @@ -242,7 +242,7 @@ // Have to lock and put the new dependency on the end of the dependency // array so the card mark for CMS sees that this dependency is new. // Can probably do this lock free with some effort. - ObjectLocker ol(Handle(THREAD, _list_head), THREAD); + ObjectLocker ol(Handle(THREAD, oopDesc::bs()->write_barrier(_list_head)), THREAD); oop loader_or_mirror = new_dependency->obj_at(0); @@ -578,7 +578,7 @@ if (!is_anonymous) { - ClassLoaderData** cld_addr = java_lang_ClassLoader::loader_data_addr(loader()); + ClassLoaderData** cld_addr = java_lang_ClassLoader::loader_data_addr(oopDesc::bs()->write_barrier(loader())); // First, Atomically set it ClassLoaderData* old = (ClassLoaderData*) Atomic::cmpxchg_ptr(cld, cld_addr, NULL); if (old != NULL) {