1.1 --- a/src/share/vm/opto/callGenerator.cpp Thu Mar 31 21:05:55 2011 -0700 1.2 +++ b/src/share/vm/opto/callGenerator.cpp Fri Apr 01 21:45:33 2011 -0700 1.3 @@ -978,31 +978,19 @@ 1.4 return head; 1.5 } 1.6 1.7 -WarmCallInfo* WarmCallInfo::_always_hot = NULL; 1.8 -WarmCallInfo* WarmCallInfo::_always_cold = NULL; 1.9 +WarmCallInfo WarmCallInfo::_always_hot(WarmCallInfo::MAX_VALUE(), WarmCallInfo::MAX_VALUE(), 1.10 + WarmCallInfo::MIN_VALUE(), WarmCallInfo::MIN_VALUE()); 1.11 +WarmCallInfo WarmCallInfo::_always_cold(WarmCallInfo::MIN_VALUE(), WarmCallInfo::MIN_VALUE(), 1.12 + WarmCallInfo::MAX_VALUE(), WarmCallInfo::MAX_VALUE()); 1.13 1.14 WarmCallInfo* WarmCallInfo::always_hot() { 1.15 - if (_always_hot == NULL) { 1.16 - static double bits[sizeof(WarmCallInfo) / sizeof(double) + 1] = {0}; 1.17 - WarmCallInfo* ci = (WarmCallInfo*) bits; 1.18 - ci->_profit = ci->_count = MAX_VALUE(); 1.19 - ci->_work = ci->_size = MIN_VALUE(); 1.20 - _always_hot = ci; 1.21 - } 1.22 - assert(_always_hot->is_hot(), "must always be hot"); 1.23 - return _always_hot; 1.24 + assert(_always_hot.is_hot(), "must always be hot"); 1.25 + return &_always_hot; 1.26 } 1.27 1.28 WarmCallInfo* WarmCallInfo::always_cold() { 1.29 - if (_always_cold == NULL) { 1.30 - static double bits[sizeof(WarmCallInfo) / sizeof(double) + 1] = {0}; 1.31 - WarmCallInfo* ci = (WarmCallInfo*) bits; 1.32 - ci->_profit = ci->_count = MIN_VALUE(); 1.33 - ci->_work = ci->_size = MAX_VALUE(); 1.34 - _always_cold = ci; 1.35 - } 1.36 - assert(_always_cold->is_cold(), "must always be cold"); 1.37 - return _always_cold; 1.38 + assert(_always_cold.is_cold(), "must always be cold"); 1.39 + return &_always_cold; 1.40 } 1.41 1.42