equal
deleted
inserted
replaced
28 #include "runtime/atomic.hpp" |
28 #include "runtime/atomic.hpp" |
29 #include "runtime/orderAccess.hpp" |
29 #include "runtime/orderAccess.hpp" |
30 #include "utilities/globalDefinitions.hpp" |
30 #include "utilities/globalDefinitions.hpp" |
31 |
31 |
32 jint LogOutputList::increase_readers() { |
32 jint LogOutputList::increase_readers() { |
33 jint result = Atomic::add(1, &_active_readers); |
33 jint result = Atomic::add(&_active_readers, 1); |
34 assert(_active_readers > 0, "Ensure we have consistent state"); |
34 assert(_active_readers > 0, "Ensure we have consistent state"); |
35 return result; |
35 return result; |
36 } |
36 } |
37 |
37 |
38 jint LogOutputList::decrease_readers() { |
38 jint LogOutputList::decrease_readers() { |
39 jint result = Atomic::add(-1, &_active_readers); |
39 jint result = Atomic::add(&_active_readers, -1); |
40 assert(result >= 0, "Ensure we have consistent state"); |
40 assert(result >= 0, "Ensure we have consistent state"); |
41 return result; |
41 return result; |
42 } |
42 } |
43 |
43 |
44 void LogOutputList::wait_until_no_readers() const { |
44 void LogOutputList::wait_until_no_readers() const { |