1.1 --- a/src/share/vm/memory/heapInspection.cpp Wed Jun 04 13:51:09 2008 -0700 1.2 +++ b/src/share/vm/memory/heapInspection.cpp Thu Jun 05 15:57:56 2008 -0700 1.3 @@ -238,11 +238,14 @@ 1.4 HeapWord* ref; 1.5 1.6 CollectedHeap* heap = Universe::heap(); 1.7 + bool is_shared_heap = false; 1.8 switch (heap->kind()) { 1.9 + case CollectedHeap::G1CollectedHeap: 1.10 case CollectedHeap::GenCollectedHeap: { 1.11 - GenCollectedHeap* gch = (GenCollectedHeap*)heap; 1.12 - gch->gc_prologue(false /* !full */); // get any necessary locks 1.13 - ref = gch->perm_gen()->used_region().start(); 1.14 + is_shared_heap = true; 1.15 + SharedHeap* sh = (SharedHeap*)heap; 1.16 + sh->gc_prologue(false /* !full */); // get any necessary locks, etc. 1.17 + ref = sh->perm_gen()->used_region().start(); 1.18 break; 1.19 } 1.20 #ifndef SERIALGC 1.21 @@ -284,9 +287,9 @@ 1.22 } 1.23 st->flush(); 1.24 1.25 - if (Universe::heap()->kind() == CollectedHeap::GenCollectedHeap) { 1.26 - GenCollectedHeap* gch = GenCollectedHeap::heap(); 1.27 - gch->gc_epilogue(false /* !full */); // release all acquired locks 1.28 + if (is_shared_heap) { 1.29 + SharedHeap* sh = (SharedHeap*)heap; 1.30 + sh->gc_epilogue(false /* !full */); // release all acquired locks, etc. 1.31 } 1.32 } 1.33