1.1 --- a/src/share/vm/prims/jvm.cpp Wed Jun 04 13:51:09 2008 -0700 1.2 +++ b/src/share/vm/prims/jvm.cpp Thu Jun 05 15:57:56 2008 -0700 1.3 @@ -377,7 +377,11 @@ 1.4 JVM_ENTRY_NO_ENV(jlong, JVM_FreeMemory(void)) 1.5 JVMWrapper("JVM_FreeMemory"); 1.6 CollectedHeap* ch = Universe::heap(); 1.7 - size_t n = ch->capacity() - ch->used(); 1.8 + size_t n; 1.9 + { 1.10 + MutexLocker x(Heap_lock); 1.11 + n = ch->capacity() - ch->used(); 1.12 + } 1.13 return convert_size_t_to_jlong(n); 1.14 JVM_END 1.15