hotspot/src/share/vm/code/codeCache.cpp
changeset 9113 e53283b68ac7
parent 8725 8c1e3dd5fe1b
child 9119 6b04b8a49ea8
--- a/hotspot/src/share/vm/code/codeCache.cpp	Tue Apr 05 02:31:46 2011 -0700
+++ b/hotspot/src/share/vm/code/codeCache.cpp	Tue Apr 05 19:16:52 2011 -0700
@@ -964,3 +964,14 @@
             nof_blobs(), nof_nmethods(), nof_adapters(),
             unallocated_capacity(), largest_free_block());
 }
+
+size_t CodeCache::largest_free_block() {
+  // This is called both with and without CodeCache_lock held so
+  // handle both cases.
+  if (CodeCache_lock->owned_by_self()) {
+    return _heap->largest_free_block();
+  } else {
+    MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
+    return _heap->largest_free_block();
+  }
+}