< prev index next >

src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp

Print this page




2425   HandleMark  hm;
2426 
2427   // Check integrity of CFL data structures
2428   _promoInfo.verify();
2429   _dictionary->verify();
2430   if (FLSVerifyIndexTable) {
2431     verifyIndexedFreeLists();
2432   }
2433   // Check integrity of all objects and free blocks in space
2434   {
2435     VerifyAllBlksClosure cl(this, span);
2436     ((CompactibleFreeListSpace*)this)->blk_iterate(&cl);  // cast off const
2437   }
2438   // Check that all references in the heap to FLS
2439   // are to valid objects in FLS or that references in
2440   // FLS are to valid objects elsewhere in the heap
2441   if (FLSVerifyAllHeapReferences)
2442   {
2443     VerifyAllOopsClosure cl(_collector, this, span, past_remark,
2444       _collector->markBitMap());
2445     CollectedHeap* ch = Universe::heap();
2446 
2447     // Iterate over all oops in the heap. Uses the _no_header version
2448     // since we are not interested in following the klass pointers.
2449     ch->oop_iterate_no_header(&cl);
2450   }
2451 
2452   if (VerifyObjectStartArray) {
2453     // Verify the block offset table
2454     _bt.verify();
2455   }
2456 }
2457 
2458 #ifndef PRODUCT
2459 void CompactibleFreeListSpace::verifyFreeLists() const {
2460   if (FLSVerifyLists) {
2461     _dictionary->verify();
2462     verifyIndexedFreeLists();
2463   } else {
2464     if (FLSVerifyDictionary) {
2465       _dictionary->verify();
2466     }
2467     if (FLSVerifyIndexTable) {
2468       verifyIndexedFreeLists();
2469     }




2425   HandleMark  hm;
2426 
2427   // Check integrity of CFL data structures
2428   _promoInfo.verify();
2429   _dictionary->verify();
2430   if (FLSVerifyIndexTable) {
2431     verifyIndexedFreeLists();
2432   }
2433   // Check integrity of all objects and free blocks in space
2434   {
2435     VerifyAllBlksClosure cl(this, span);
2436     ((CompactibleFreeListSpace*)this)->blk_iterate(&cl);  // cast off const
2437   }
2438   // Check that all references in the heap to FLS
2439   // are to valid objects in FLS or that references in
2440   // FLS are to valid objects elsewhere in the heap
2441   if (FLSVerifyAllHeapReferences)
2442   {
2443     VerifyAllOopsClosure cl(_collector, this, span, past_remark,
2444       _collector->markBitMap());

2445 
2446     // Iterate over all oops in the heap. Uses the _no_header version
2447     // since we are not interested in following the klass pointers.
2448     GenCollectedHeap::heap()->oop_iterate_no_header(&cl);
2449   }
2450 
2451   if (VerifyObjectStartArray) {
2452     // Verify the block offset table
2453     _bt.verify();
2454   }
2455 }
2456 
2457 #ifndef PRODUCT
2458 void CompactibleFreeListSpace::verifyFreeLists() const {
2459   if (FLSVerifyLists) {
2460     _dictionary->verify();
2461     verifyIndexedFreeLists();
2462   } else {
2463     if (FLSVerifyDictionary) {
2464       _dictionary->verify();
2465     }
2466     if (FLSVerifyIndexTable) {
2467       verifyIndexedFreeLists();
2468     }


< prev index next >