hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
changeset 1387 580d4ae0a776
parent 1374 4c24294029a9
child 1623 a0dd9009e992
equal deleted inserted replaced
1386:e20a51f0d970 1387:580d4ae0a776
  2895   {}
  2895   {}
  2896 
  2896 
  2897   void work(int i) {
  2897   void work(int i) {
  2898     ParKnownGarbageHRClosure parKnownGarbageCl(_hrSorted, _chunk_size, i);
  2898     ParKnownGarbageHRClosure parKnownGarbageCl(_hrSorted, _chunk_size, i);
  2899     // Back to zero for the claim value.
  2899     // Back to zero for the claim value.
  2900     _g1->heap_region_par_iterate_chunked(&parKnownGarbageCl, i, 0);
  2900     _g1->heap_region_par_iterate_chunked(&parKnownGarbageCl, i,
       
  2901                                          HeapRegion::InitialClaimValue);
  2901     jint regions_added = parKnownGarbageCl.marked_regions_added();
  2902     jint regions_added = parKnownGarbageCl.marked_regions_added();
  2902     _hrSorted->incNumMarkedHeapRegions(regions_added);
  2903     _hrSorted->incNumMarkedHeapRegions(regions_added);
  2903     if (G1PrintParCleanupStats) {
  2904     if (G1PrintParCleanupStats) {
  2904       gclog_or_tty->print("     Thread %d called %d times, added %d regions to list.\n",
  2905       gclog_or_tty->print("     Thread %d called %d times, added %d regions to list.\n",
  2905                  i, parKnownGarbageCl.invokes(), regions_added);
  2906                  i, parKnownGarbageCl.invokes(), regions_added);
  2931     _collectionSetChooser->prepareForAddMarkedHeapRegionsPar(_g1->n_regions(),
  2932     _collectionSetChooser->prepareForAddMarkedHeapRegionsPar(_g1->n_regions(),
  2932                                                              ChunkSize);
  2933                                                              ChunkSize);
  2933     ParKnownGarbageTask parKnownGarbageTask(_collectionSetChooser,
  2934     ParKnownGarbageTask parKnownGarbageTask(_collectionSetChooser,
  2934                                             (int) ChunkSize);
  2935                                             (int) ChunkSize);
  2935     _g1->workers()->run_task(&parKnownGarbageTask);
  2936     _g1->workers()->run_task(&parKnownGarbageTask);
       
  2937 
       
  2938     assert(_g1->check_heap_region_claim_values(HeapRegion::InitialClaimValue),
       
  2939            "sanity check");
  2936   } else {
  2940   } else {
  2937     KnownGarbageClosure knownGarbagecl(_collectionSetChooser);
  2941     KnownGarbageClosure knownGarbagecl(_collectionSetChooser);
  2938     _g1->heap_region_iterate(&knownGarbagecl);
  2942     _g1->heap_region_iterate(&knownGarbagecl);
  2939   }
  2943   }
  2940   double known_garbage_end;
  2944   double known_garbage_end;