hotspot/src/share/vm/gc/serial/defNewGeneration.cpp
changeset 37422 8a7443b5edf8
parent 37248 11a660dbbb8e
child 38010 51fe205359f8
equal deleted inserted replaced
37421:505b09d74f49 37422:8a7443b5edf8
   690   } else {
   690   } else {
   691     assert(_promo_failure_scan_stack.is_empty(), "post condition");
   691     assert(_promo_failure_scan_stack.is_empty(), "post condition");
   692     _promo_failure_scan_stack.clear(true); // Clear cached segments.
   692     _promo_failure_scan_stack.clear(true); // Clear cached segments.
   693 
   693 
   694     remove_forwarding_pointers();
   694     remove_forwarding_pointers();
   695     log_debug(gc)("Promotion failed");
   695     log_info(gc, promotion)("Promotion failed");
   696     // Add to-space to the list of space to compact
   696     // Add to-space to the list of space to compact
   697     // when a promotion failure has occurred.  In that
   697     // when a promotion failure has occurred.  In that
   698     // case there can be live objects in to-space
   698     // case there can be live objects in to-space
   699     // as a result of a partial evacuation of eden
   699     // as a result of a partial evacuation of eden
   700     // and from-space.
   700     // and from-space.
   737 void DefNewGeneration::remove_forwarding_pointers() {
   737 void DefNewGeneration::remove_forwarding_pointers() {
   738   RemoveForwardedPointerClosure rspc;
   738   RemoveForwardedPointerClosure rspc;
   739   eden()->object_iterate(&rspc);
   739   eden()->object_iterate(&rspc);
   740   from()->object_iterate(&rspc);
   740   from()->object_iterate(&rspc);
   741 
   741 
   742   // Now restore saved marks, if any.
   742   _preserved_marks_set.restore(GenCollectedHeap::heap()->workers());
   743   _preserved_marks_set.restore();
       
   744 }
   743 }
   745 
   744 
   746 void DefNewGeneration::handle_promotion_failure(oop old) {
   745 void DefNewGeneration::handle_promotion_failure(oop old) {
   747   log_debug(gc, promotion)("Promotion failure size = %d) ", old->size());
   746   log_debug(gc, promotion)("Promotion failure size = %d) ", old->size());
   748 
   747