117 // Assign the containing region to containing_hr so that we don't
118 // have to keep calling heap_region_containing() in the
119 // asserts below.
120 DEBUG_ONLY(HeapRegion* containing_hr = heap_region_containing(start);)
121 assert(word_size > 0, "pre-condition");
122 assert(containing_hr->is_in(start), "it should contain start");
123 assert(containing_hr->is_young(), "it should be young");
124 assert(!containing_hr->is_humongous(), "it should not be humongous");
125
126 HeapWord* end = start + word_size;
127 assert(containing_hr->is_in(end - 1), "it should also contain end - 1");
128
129 MemRegion mr(start, end);
130 g1_barrier_set()->g1_mark_as_young(mr);
131 }
132
133 inline RefToScanQueue* G1CollectedHeap::task_queue(uint i) const {
134 return _task_queues->queue(i);
135 }
136
137 inline bool G1CollectedHeap::isMarkedPrev(oop obj) const {
138 return _cm->prevMarkBitMap()->isMarked((HeapWord *)obj);
139 }
140
141 inline bool G1CollectedHeap::isMarkedNext(oop obj) const {
142 return _cm->nextMarkBitMap()->isMarked((HeapWord *)obj);
143 }
144
145 inline bool G1CollectedHeap::is_in_cset(oop obj) {
146 return _in_cset_fast_test.is_in_cset((HeapWord*)obj);
147 }
148
149 bool G1CollectedHeap::is_in_cset(const HeapRegion* hr) {
150 return _in_cset_fast_test.is_in_cset(hr);
151 }
152
153 bool G1CollectedHeap::is_in_cset_or_humongous(const oop obj) {
154 return _in_cset_fast_test.is_in_cset_or_humongous((HeapWord*)obj);
155 }
156
157 InCSetState G1CollectedHeap::in_cset_state(const oop obj) {
158 return _in_cset_fast_test.at((HeapWord*)obj);
159 }
160
|
117 // Assign the containing region to containing_hr so that we don't
118 // have to keep calling heap_region_containing() in the
119 // asserts below.
120 DEBUG_ONLY(HeapRegion* containing_hr = heap_region_containing(start);)
121 assert(word_size > 0, "pre-condition");
122 assert(containing_hr->is_in(start), "it should contain start");
123 assert(containing_hr->is_young(), "it should be young");
124 assert(!containing_hr->is_humongous(), "it should not be humongous");
125
126 HeapWord* end = start + word_size;
127 assert(containing_hr->is_in(end - 1), "it should also contain end - 1");
128
129 MemRegion mr(start, end);
130 g1_barrier_set()->g1_mark_as_young(mr);
131 }
132
133 inline RefToScanQueue* G1CollectedHeap::task_queue(uint i) const {
134 return _task_queues->queue(i);
135 }
136
137 inline bool G1CollectedHeap::isMarkedNext(oop obj) const {
138 return _cm->nextMarkBitMap()->isMarked((HeapWord *)obj);
139 }
140
141 inline bool G1CollectedHeap::is_in_cset(oop obj) {
142 return _in_cset_fast_test.is_in_cset((HeapWord*)obj);
143 }
144
145 bool G1CollectedHeap::is_in_cset(const HeapRegion* hr) {
146 return _in_cset_fast_test.is_in_cset(hr);
147 }
148
149 bool G1CollectedHeap::is_in_cset_or_humongous(const oop obj) {
150 return _in_cset_fast_test.is_in_cset_or_humongous((HeapWord*)obj);
151 }
152
153 InCSetState G1CollectedHeap::in_cset_state(const oop obj) {
154 return _in_cset_fast_test.at((HeapWord*)obj);
155 }
156
|