80 }; |
80 }; |
81 |
81 |
82 void G1HeapTransition::print() { |
82 void G1HeapTransition::print() { |
83 Data after(_g1_heap); |
83 Data after(_g1_heap); |
84 |
84 |
85 size_t eden_capacity_bytes_after_gc = _g1_heap->g1_policy()->young_list_target_length() - after._survivor_length; |
85 size_t eden_capacity_length_after_gc = _g1_heap->g1_policy()->young_list_target_length() - after._survivor_length; |
86 size_t survivor_capacity_bytes_after_gc = _g1_heap->g1_policy()->max_survivor_regions(); |
86 size_t survivor_capacity_length_after_gc = _g1_heap->g1_policy()->max_survivor_regions(); |
87 |
87 |
88 DetailedUsage usage; |
88 DetailedUsage usage; |
89 if (log_is_enabled(Trace, gc, heap)) { |
89 if (log_is_enabled(Trace, gc, heap)) { |
90 DetailedUsageClosure blk; |
90 DetailedUsageClosure blk; |
91 _g1_heap->heap_region_iterate(&blk); |
91 _g1_heap->heap_region_iterate(&blk); |
98 assert(usage._humongous_region_count == after._humongous_length, "Expected humongous to be " SIZE_FORMAT " but was " SIZE_FORMAT, |
98 assert(usage._humongous_region_count == after._humongous_length, "Expected humongous to be " SIZE_FORMAT " but was " SIZE_FORMAT, |
99 after._humongous_length, usage._humongous_region_count); |
99 after._humongous_length, usage._humongous_region_count); |
100 } |
100 } |
101 |
101 |
102 log_info(gc, heap)("Eden regions: " SIZE_FORMAT "->" SIZE_FORMAT "(" SIZE_FORMAT ")", |
102 log_info(gc, heap)("Eden regions: " SIZE_FORMAT "->" SIZE_FORMAT "(" SIZE_FORMAT ")", |
103 _before._eden_length, after._eden_length, eden_capacity_bytes_after_gc); |
103 _before._eden_length, after._eden_length, eden_capacity_length_after_gc); |
104 log_trace(gc, heap)(" Used: 0K, Waste: 0K"); |
104 log_trace(gc, heap)(" Used: 0K, Waste: 0K"); |
105 |
105 |
106 log_info(gc, heap)("Survivor regions: " SIZE_FORMAT "->" SIZE_FORMAT "(" SIZE_FORMAT ")", |
106 log_info(gc, heap)("Survivor regions: " SIZE_FORMAT "->" SIZE_FORMAT "(" SIZE_FORMAT ")", |
107 _before._survivor_length, after._survivor_length, survivor_capacity_bytes_after_gc); |
107 _before._survivor_length, after._survivor_length, survivor_capacity_length_after_gc); |
108 log_trace(gc, heap)(" Used: " SIZE_FORMAT "K, Waste: " SIZE_FORMAT "K", |
108 log_trace(gc, heap)(" Used: " SIZE_FORMAT "K, Waste: " SIZE_FORMAT "K", |
109 usage._survivor_used / K, ((after._survivor_length * HeapRegion::GrainBytes) - usage._survivor_used) / K); |
109 usage._survivor_used / K, ((after._survivor_length * HeapRegion::GrainBytes) - usage._survivor_used) / K); |
110 |
110 |
111 log_info(gc, heap)("Old regions: " SIZE_FORMAT "->" SIZE_FORMAT, |
111 log_info(gc, heap)("Old regions: " SIZE_FORMAT "->" SIZE_FORMAT, |
112 _before._old_length, after._old_length); |
112 _before._old_length, after._old_length); |