--- old/./src/share/vm/oops/cpCache.cpp 2013-03-21 22:01:53.811284280 -0700 +++ new/./src/share/vm/oops/cpCache.cpp 2013-03-21 22:01:53.595273570 -0700 @@ -266,7 +266,8 @@ // the lock, so that when the losing writer returns, he can use the linked // cache entry. - MonitorLockerEx ml(cpool->lock()); + oop cplock = cpool->lock(); + ObjectLocker ol(cplock, Thread::current(), cplock != NULL); if (!is_f1_null()) { return; }