src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp	Wed Mar 20 22:37:09 2013
--- new/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp	Wed Mar 20 22:37:09 2013

*** 92,102 **** --- 92,102 ---- TASKQUEUE_STATS_ONLY(if (PrintGCDetails && ParallelGCVerbose) print_stats()); for (uint i = 0; i < ParallelGCThreads + 1; i++) { PSPromotionManager* manager = manager_array(i); assert(manager->claimed_stack_depth()->is_empty(), "should be empty"); ! if (manager->_promotion_failed_info.promotion_failed()) { ! if (manager->_promotion_failed_info.has_failed()) { gc_tracer.report_promotion_failed(manager->_promotion_failed_info); promotion_failure_occurred = true; } manager->flush_labs(); }
*** 314,324 **** --- 314,324 ---- // it. if (obj->cas_forward_to(obj, obj_mark)) { // We won any races, we "own" this object. assert(obj == obj->forwardee(), "Sanity"); ! _promotion_failed_info.register_promotion_failed(obj->size()); ! _promotion_failed_info.register_copy_failure(obj->size()); obj->push_contents(this); // Save the mark if needed PSScavenge::oop_promotion_failed(obj, obj_mark);

src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File