86 case ShenandoahAllocRequest::_alloc_gclab:
87 _gclab_allocs += size;
88 break;
89 default:
90 ShouldNotReachHere();
91 }
92 }
93
94 inline void ShenandoahHeapRegion::increase_live_data_alloc_words(size_t s) {
95 internal_increase_live_data(s);
96 }
97
98 inline void ShenandoahHeapRegion::increase_live_data_gc_words(size_t s) {
99 internal_increase_live_data(s);
100 if (ShenandoahPacing) {
101 _heap->pacer()->report_mark(s);
102 }
103 }
104
105 inline void ShenandoahHeapRegion::internal_increase_live_data(size_t s) {
106 size_t new_live_data = Atomic::add(s, &_live_data);
107 #ifdef ASSERT
108 size_t live_bytes = new_live_data * HeapWordSize;
109 size_t used_bytes = used();
110 assert(live_bytes <= used_bytes,
111 "can't have more live data than used: " SIZE_FORMAT ", " SIZE_FORMAT, live_bytes, used_bytes);
112 #endif
113 }
114
115 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGION_INLINE_HPP
|
86 case ShenandoahAllocRequest::_alloc_gclab:
87 _gclab_allocs += size;
88 break;
89 default:
90 ShouldNotReachHere();
91 }
92 }
93
94 inline void ShenandoahHeapRegion::increase_live_data_alloc_words(size_t s) {
95 internal_increase_live_data(s);
96 }
97
98 inline void ShenandoahHeapRegion::increase_live_data_gc_words(size_t s) {
99 internal_increase_live_data(s);
100 if (ShenandoahPacing) {
101 _heap->pacer()->report_mark(s);
102 }
103 }
104
105 inline void ShenandoahHeapRegion::internal_increase_live_data(size_t s) {
106 size_t new_live_data = Atomic::add(&_live_data, s);
107 #ifdef ASSERT
108 size_t live_bytes = new_live_data * HeapWordSize;
109 size_t used_bytes = used();
110 assert(live_bytes <= used_bytes,
111 "can't have more live data than used: " SIZE_FORMAT ", " SIZE_FORMAT, live_bytes, used_bytes);
112 #endif
113 }
114
115 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGION_INLINE_HPP
|