equal
deleted
inserted
replaced
59 } |
59 } |
60 |
60 |
61 |
61 |
62 // class ExceptionCache methods |
62 // class ExceptionCache methods |
63 |
63 |
64 inline int ExceptionCache::count() { return OrderAccess::load_acquire(&_count); } |
64 inline int ExceptionCache::count() { return Atomic::load_acquire(&_count); } |
65 |
65 |
66 address ExceptionCache::pc_at(int index) { |
66 address ExceptionCache::pc_at(int index) { |
67 assert(index >= 0 && index < count(),""); |
67 assert(index >= 0 && index < count(),""); |
68 return _pc[index]; |
68 return _pc[index]; |
69 } |
69 } |
72 assert(index >= 0 && index < count(),""); |
72 assert(index >= 0 && index < count(),""); |
73 return _handler[index]; |
73 return _handler[index]; |
74 } |
74 } |
75 |
75 |
76 // increment_count is only called under lock, but there may be concurrent readers. |
76 // increment_count is only called under lock, but there may be concurrent readers. |
77 inline void ExceptionCache::increment_count() { OrderAccess::release_store(&_count, _count + 1); } |
77 inline void ExceptionCache::increment_count() { Atomic::release_store(&_count, _count + 1); } |
78 |
78 |
79 |
79 |
80 #endif // SHARE_CODE_COMPILEDMETHOD_INLINE_HPP |
80 #endif // SHARE_CODE_COMPILEDMETHOD_INLINE_HPP |