44 // trying to keep the Windows compiler happy 45 return NULL; 46 } 47 48 const char* G1HRPrinter::region_type_name(RegionType type) { 49 switch (type) { 50 case Unset: return NULL; 51 case Eden: return "Eden"; 52 case Survivor: return "Survivor"; 53 case Old: return "Old"; 54 case SingleHumongous: return "SingleH"; 55 case StartsHumongous: return "StartsH"; 56 case ContinuesHumongous: return "ContinuesH"; 57 case Archive: return "Archive"; 58 default: ShouldNotReachHere(); 59 } 60 // trying to keep the Windows compiler happy 61 return NULL; 62 } 63 64 const char* G1HRPrinter::phase_name(PhaseType phase) { 65 switch (phase) { 66 case StartGC: return "StartGC"; 67 case EndGC: return "EndGC"; 68 case StartFullGC: return "StartFullGC"; 69 case EndFullGC: return "EndFullGC"; 70 default: ShouldNotReachHere(); 71 } 72 // trying to keep the Windows compiler happy 73 return NULL; 74 } 75 76 #define G1HR_PREFIX " G1HR" 77 78 void G1HRPrinter::print(ActionType action, RegionType type, 79 HeapRegion* hr, HeapWord* top) { 80 const char* action_str = action_name(action); 81 const char* type_str = region_type_name(type); 82 HeapWord* bottom = hr->bottom(); 83 84 if (type_str != NULL) { 85 if (top != NULL) { 86 gclog_or_tty->print_cr(G1HR_PREFIX " %s(%s) " PTR_FORMAT " " PTR_FORMAT, 87 action_str, type_str, p2i(bottom), p2i(top)); 88 } else { 89 gclog_or_tty->print_cr(G1HR_PREFIX " %s(%s) " PTR_FORMAT, 90 action_str, type_str, p2i(bottom)); 91 } 92 } else { 93 if (top != NULL) { 94 gclog_or_tty->print_cr(G1HR_PREFIX " %s " PTR_FORMAT " " PTR_FORMAT, 95 action_str, p2i(bottom), p2i(top)); 96 } else { 97 gclog_or_tty->print_cr(G1HR_PREFIX " %s " PTR_FORMAT, 98 action_str, p2i(bottom)); 99 } 100 } 101 } 102 103 void G1HRPrinter::print(ActionType action, HeapWord* bottom, HeapWord* end) { 104 const char* action_str = action_name(action); 105 106 gclog_or_tty->print_cr(G1HR_PREFIX " %s [" PTR_FORMAT "," PTR_FORMAT "]", 107 action_str, p2i(bottom), p2i(end)); 108 } 109 110 void G1HRPrinter::print(PhaseType phase, size_t phase_num) { 111 const char* phase_str = phase_name(phase); 112 gclog_or_tty->print_cr(G1HR_PREFIX " #%s " SIZE_FORMAT, phase_str, phase_num); 113 } | 44 // trying to keep the Windows compiler happy 45 return NULL; 46 } 47 48 const char* G1HRPrinter::region_type_name(RegionType type) { 49 switch (type) { 50 case Unset: return NULL; 51 case Eden: return "Eden"; 52 case Survivor: return "Survivor"; 53 case Old: return "Old"; 54 case SingleHumongous: return "SingleH"; 55 case StartsHumongous: return "StartsH"; 56 case ContinuesHumongous: return "ContinuesH"; 57 case Archive: return "Archive"; 58 default: ShouldNotReachHere(); 59 } 60 // trying to keep the Windows compiler happy 61 return NULL; 62 } 63 64 #define G1HR_PREFIX " G1HR" 65 66 void G1HRPrinter::print(ActionType action, RegionType type, 67 HeapRegion* hr, HeapWord* top) { 68 const char* action_str = action_name(action); 69 const char* type_str = region_type_name(type); 70 HeapWord* bottom = hr->bottom(); 71 72 if (type_str != NULL) { 73 if (top != NULL) { 74 log_trace(gc, region)(G1HR_PREFIX " %s(%s) " PTR_FORMAT " " PTR_FORMAT, 75 action_str, type_str, p2i(bottom), p2i(top)); 76 } else { 77 log_trace(gc, region)(G1HR_PREFIX " %s(%s) " PTR_FORMAT, 78 action_str, type_str, p2i(bottom)); 79 } 80 } else { 81 if (top != NULL) { 82 log_trace(gc, region)(G1HR_PREFIX " %s " PTR_FORMAT " " PTR_FORMAT, 83 action_str, p2i(bottom), p2i(top)); 84 } else { 85 log_trace(gc, region)(G1HR_PREFIX " %s " PTR_FORMAT, 86 action_str, p2i(bottom)); 87 } 88 } 89 } 90 91 void G1HRPrinter::print(ActionType action, HeapWord* bottom, HeapWord* end) { 92 const char* action_str = action_name(action); 93 94 log_trace(gc, region)(G1HR_PREFIX " %s [" PTR_FORMAT "," PTR_FORMAT "]", 95 action_str, p2i(bottom), p2i(end)); 96 } |