Mercurial > hg > graal-compiler
comparison src/share/vm/opto/callGenerator.cpp @ 2443:f8b038506985
6909440: C2 fails with assertion (_always_cold->is_cold(),"must always be cold")
Reviewed-by: kvn
author | never |
---|---|
date | Fri, 01 Apr 2011 21:45:33 -0700 |
parents | 8033953d67ff |
children | f56542cb325a |
comparison
equal
deleted
inserted
replaced
2442:c2323e2ea62b | 2443:f8b038506985 |
---|---|
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 |