equal
deleted
inserted
replaced
961 private: |
961 private: |
962 void do_work() { |
962 void do_work() { |
963 ShenandoahConcurrentEvacuateRegionObjectClosure cl(_sh); |
963 ShenandoahConcurrentEvacuateRegionObjectClosure cl(_sh); |
964 ShenandoahHeapRegion* r; |
964 ShenandoahHeapRegion* r; |
965 while ((r =_cs->claim_next()) != NULL) { |
965 while ((r =_cs->claim_next()) != NULL) { |
966 assert(r->has_live(), "all-garbage regions are reclaimed early"); |
966 assert(r->has_live(), "Region " SIZE_FORMAT " should have been reclaimed early", r->region_number()); |
|
967 assert(r->is_conc_move_allowed(), "Region " SIZE_FORMAT " should be movable", r->region_number()); |
967 _sh->marked_object_iterate(r, &cl); |
968 _sh->marked_object_iterate(r, &cl); |
968 |
969 |
969 if (ShenandoahPacing) { |
970 if (ShenandoahPacing) { |
970 _sh->pacer()->report_evac(r->used() >> LogHeapWordSize); |
971 _sh->pacer()->report_evac(r->used() >> LogHeapWordSize); |
971 } |
972 } |