22 */
23
24 #ifndef SHARE_GC_Z_ZLIVEMAP_INLINE_HPP
25 #define SHARE_GC_Z_ZLIVEMAP_INLINE_HPP
26
27 #include "gc/z/zBitMap.inline.hpp"
28 #include "gc/z/zLiveMap.hpp"
29 #include "gc/z/zMark.hpp"
30 #include "gc/z/zOop.inline.hpp"
31 #include "gc/z/zUtils.inline.hpp"
32 #include "runtime/atomic.hpp"
33 #include "runtime/orderAccess.hpp"
34 #include "utilities/bitMap.inline.hpp"
35 #include "utilities/debug.hpp"
36
37 inline void ZLiveMap::reset() {
38 _seqnum = 0;
39 }
40
41 inline bool ZLiveMap::is_marked() const {
42 return OrderAccess::load_acquire(&_seqnum) == ZGlobalSeqNum;
43 }
44
45 inline uint32_t ZLiveMap::live_objects() const {
46 assert(ZGlobalPhase != ZPhaseMark, "Invalid phase");
47 return _live_objects;
48 }
49
50 inline size_t ZLiveMap::live_bytes() const {
51 assert(ZGlobalPhase != ZPhaseMark, "Invalid phase");
52 return _live_bytes;
53 }
54
55 inline const BitMapView ZLiveMap::segment_live_bits() const {
56 return BitMapView(const_cast<BitMap::bm_word_t*>(&_segment_live_bits), nsegments);
57 }
58
59 inline const BitMapView ZLiveMap::segment_claim_bits() const {
60 return BitMapView(const_cast<BitMap::bm_word_t*>(&_segment_claim_bits), nsegments);
61 }
62
|
22 */
23
24 #ifndef SHARE_GC_Z_ZLIVEMAP_INLINE_HPP
25 #define SHARE_GC_Z_ZLIVEMAP_INLINE_HPP
26
27 #include "gc/z/zBitMap.inline.hpp"
28 #include "gc/z/zLiveMap.hpp"
29 #include "gc/z/zMark.hpp"
30 #include "gc/z/zOop.inline.hpp"
31 #include "gc/z/zUtils.inline.hpp"
32 #include "runtime/atomic.hpp"
33 #include "runtime/orderAccess.hpp"
34 #include "utilities/bitMap.inline.hpp"
35 #include "utilities/debug.hpp"
36
37 inline void ZLiveMap::reset() {
38 _seqnum = 0;
39 }
40
41 inline bool ZLiveMap::is_marked() const {
42 return Atomic::load_acquire(&_seqnum) == ZGlobalSeqNum;
43 }
44
45 inline uint32_t ZLiveMap::live_objects() const {
46 assert(ZGlobalPhase != ZPhaseMark, "Invalid phase");
47 return _live_objects;
48 }
49
50 inline size_t ZLiveMap::live_bytes() const {
51 assert(ZGlobalPhase != ZPhaseMark, "Invalid phase");
52 return _live_bytes;
53 }
54
55 inline const BitMapView ZLiveMap::segment_live_bits() const {
56 return BitMapView(const_cast<BitMap::bm_word_t*>(&_segment_live_bits), nsegments);
57 }
58
59 inline const BitMapView ZLiveMap::segment_claim_bits() const {
60 return BitMapView(const_cast<BitMap::bm_word_t*>(&_segment_claim_bits), nsegments);
61 }
62
|