976 else |
976 else |
977 prev_p->set_next(next_p); |
977 prev_p->set_next(next_p); |
978 return head; |
978 return head; |
979 } |
979 } |
980 |
980 |
981 WarmCallInfo* WarmCallInfo::_always_hot = NULL; |
981 WarmCallInfo WarmCallInfo::_always_hot(WarmCallInfo::MAX_VALUE(), WarmCallInfo::MAX_VALUE(), |
982 WarmCallInfo* WarmCallInfo::_always_cold = NULL; |
982 WarmCallInfo::MIN_VALUE(), WarmCallInfo::MIN_VALUE()); |
|
983 WarmCallInfo WarmCallInfo::_always_cold(WarmCallInfo::MIN_VALUE(), WarmCallInfo::MIN_VALUE(), |
|
984 WarmCallInfo::MAX_VALUE(), WarmCallInfo::MAX_VALUE()); |
983 |
985 |
984 WarmCallInfo* WarmCallInfo::always_hot() { |
986 WarmCallInfo* WarmCallInfo::always_hot() { |
985 if (_always_hot == NULL) { |
987 assert(_always_hot.is_hot(), "must always be hot"); |
986 static double bits[sizeof(WarmCallInfo) / sizeof(double) + 1] = {0}; |
988 return &_always_hot; |
987 WarmCallInfo* ci = (WarmCallInfo*) bits; |
|
988 ci->_profit = ci->_count = MAX_VALUE(); |
|
989 ci->_work = ci->_size = MIN_VALUE(); |
|
990 _always_hot = ci; |
|
991 } |
|
992 assert(_always_hot->is_hot(), "must always be hot"); |
|
993 return _always_hot; |
|
994 } |
989 } |
995 |
990 |
996 WarmCallInfo* WarmCallInfo::always_cold() { |
991 WarmCallInfo* WarmCallInfo::always_cold() { |
997 if (_always_cold == NULL) { |
992 assert(_always_cold.is_cold(), "must always be cold"); |
998 static double bits[sizeof(WarmCallInfo) / sizeof(double) + 1] = {0}; |
993 return &_always_cold; |
999 WarmCallInfo* ci = (WarmCallInfo*) bits; |
|
1000 ci->_profit = ci->_count = MIN_VALUE(); |
|
1001 ci->_work = ci->_size = MAX_VALUE(); |
|
1002 _always_cold = ci; |
|
1003 } |
|
1004 assert(_always_cold->is_cold(), "must always be cold"); |
|
1005 return _always_cold; |
|
1006 } |
994 } |
1007 |
995 |
1008 |
996 |
1009 #ifndef PRODUCT |
997 #ifndef PRODUCT |
1010 |
998 |