hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
changeset 22545 b93a7f0e9b9d
parent 22220 eb467dfb9585
child 22546 9b5f5de1ff7b
equal deleted inserted replaced
22509:29988315e412 22545:b93a7f0e9b9d
  1616     // We could stop iteration over the heap when we
  1616     // We could stop iteration over the heap when we
  1617     // find the first violating region by returning true.
  1617     // find the first violating region by returning true.
  1618     return false;
  1618     return false;
  1619   }
  1619   }
  1620 };
  1620 };
  1621 
       
  1622 
  1621 
  1623 class G1ParVerifyFinalCountTask: public AbstractGangTask {
  1622 class G1ParVerifyFinalCountTask: public AbstractGangTask {
  1624 protected:
  1623 protected:
  1625   G1CollectedHeap* _g1h;
  1624   G1CollectedHeap* _g1h;
  1626   ConcurrentMark* _cm;
  1625   ConcurrentMark* _cm;
  2527 
  2526 
  2528     rp->verify_no_references_recorded();
  2527     rp->verify_no_references_recorded();
  2529     assert(!rp->discovery_enabled(), "Post condition");
  2528     assert(!rp->discovery_enabled(), "Post condition");
  2530   }
  2529   }
  2531 
  2530 
  2532   // Now clean up stale oops in StringTable
  2531   g1h->unlink_string_and_symbol_table(&g1_is_alive);
  2533   StringTable::unlink(&g1_is_alive);
       
  2534   // Clean up unreferenced symbols in symbol table.
       
  2535   SymbolTable::unlink();
       
  2536 }
  2532 }
  2537 
  2533 
  2538 void ConcurrentMark::swapMarkBitMaps() {
  2534 void ConcurrentMark::swapMarkBitMaps() {
  2539   CMBitMapRO* temp = _prevMarkBitMap;
  2535   CMBitMapRO* temp = _prevMarkBitMap;
  2540   _prevMarkBitMap  = (CMBitMapRO*)_nextMarkBitMap;
  2536   _prevMarkBitMap  = (CMBitMapRO*)_nextMarkBitMap;