108 delete _plab_allocator;
109 delete _closures;
110 FREE_C_HEAP_ARRAY(size_t, _surviving_young_words_base);
111 delete[] _oops_into_optional_regions;
112 FREE_C_HEAP_ARRAY(size_t, _obj_alloc_stat);
113 }
114
115 size_t G1ParScanThreadState::lab_waste_words() const {
116 return _plab_allocator->waste();
117 }
118
119 size_t G1ParScanThreadState::lab_undo_waste_words() const {
120 return _plab_allocator->undo_waste();
121 }
122
123 #ifdef ASSERT
124 void G1ParScanThreadState::verify_task(narrowOop* task) const {
125 assert(task != NULL, "invariant");
126 assert(UseCompressedOops, "sanity");
127 oop p = RawAccess<>::oop_load(task);
128 assert(_g1h->is_in_g1_reserved(p),
129 "task=" PTR_FORMAT " p=" PTR_FORMAT, p2i(task), p2i(p));
130 }
131
132 void G1ParScanThreadState::verify_task(oop* task) const {
133 assert(task != NULL, "invariant");
134 oop p = RawAccess<>::oop_load(task);
135 assert(_g1h->is_in_g1_reserved(p),
136 "task=" PTR_FORMAT " p=" PTR_FORMAT, p2i(task), p2i(p));
137 }
138
139 void G1ParScanThreadState::verify_task(PartialArrayScanTask task) const {
140 // Must be in the collection set--it's already been copied.
141 oop p = task.to_source_array();
142 assert(_g1h->is_in_cset(p), "p=" PTR_FORMAT, p2i(p));
143 }
144
145 void G1ParScanThreadState::verify_task(ScannerTask task) const {
146 if (task.is_narrow_oop_ptr()) {
147 verify_task(task.to_narrow_oop_ptr());
148 } else if (task.is_oop_ptr()) {
149 verify_task(task.to_oop_ptr());
150 } else if (task.is_partial_array_task()) {
151 verify_task(task.to_partial_array_task());
152 } else {
153 ShouldNotReachHere();
154 }
155 }
|
108 delete _plab_allocator;
109 delete _closures;
110 FREE_C_HEAP_ARRAY(size_t, _surviving_young_words_base);
111 delete[] _oops_into_optional_regions;
112 FREE_C_HEAP_ARRAY(size_t, _obj_alloc_stat);
113 }
114
115 size_t G1ParScanThreadState::lab_waste_words() const {
116 return _plab_allocator->waste();
117 }
118
119 size_t G1ParScanThreadState::lab_undo_waste_words() const {
120 return _plab_allocator->undo_waste();
121 }
122
123 #ifdef ASSERT
124 void G1ParScanThreadState::verify_task(narrowOop* task) const {
125 assert(task != NULL, "invariant");
126 assert(UseCompressedOops, "sanity");
127 oop p = RawAccess<>::oop_load(task);
128 assert(_g1h->is_in_reserved(p),
129 "task=" PTR_FORMAT " p=" PTR_FORMAT, p2i(task), p2i(p));
130 }
131
132 void G1ParScanThreadState::verify_task(oop* task) const {
133 assert(task != NULL, "invariant");
134 oop p = RawAccess<>::oop_load(task);
135 assert(_g1h->is_in_reserved(p),
136 "task=" PTR_FORMAT " p=" PTR_FORMAT, p2i(task), p2i(p));
137 }
138
139 void G1ParScanThreadState::verify_task(PartialArrayScanTask task) const {
140 // Must be in the collection set--it's already been copied.
141 oop p = task.to_source_array();
142 assert(_g1h->is_in_cset(p), "p=" PTR_FORMAT, p2i(p));
143 }
144
145 void G1ParScanThreadState::verify_task(ScannerTask task) const {
146 if (task.is_narrow_oop_ptr()) {
147 verify_task(task.to_narrow_oop_ptr());
148 } else if (task.is_oop_ptr()) {
149 verify_task(task.to_oop_ptr());
150 } else if (task.is_partial_array_task()) {
151 verify_task(task.to_partial_array_task());
152 } else {
153 ShouldNotReachHere();
154 }
155 }
|