1117 jint len);
1118
1119 // True iff an evacuation has failed in the most-recent collection.
1120 bool evacuation_failed() { return _evacuation_failed; }
1121
1122 void remove_from_old_sets(const uint old_regions_removed, const uint humongous_regions_removed);
1123 void prepend_to_freelist(FreeRegionList* list);
1124 void decrement_summary_bytes(size_t bytes);
1125
1126 virtual bool is_in(const void* p) const;
1127 #ifdef ASSERT
1128 // Returns whether p is in one of the available areas of the heap. Slow but
1129 // extensive version.
1130 bool is_in_exact(const void* p) const;
1131 #endif
1132
1133 // Return "TRUE" iff the given object address is within the collection
1134 // set. Assumes that the reference points into the heap.
1135 inline bool is_in_cset(const HeapRegion *hr);
1136 inline bool is_in_cset(oop obj);
1137
1138 inline bool is_in_cset_or_humongous(const oop obj);
1139
1140 private:
1141 // This array is used for a quick test on whether a reference points into
1142 // the collection set or not. Each of the array's elements denotes whether the
1143 // corresponding region is in the collection set or not.
1144 G1InCSetStateFastTestBiasedMappedArray _in_cset_fast_test;
1145
1146 public:
1147
1148 inline InCSetState in_cset_state(const oop obj);
1149
1150 // Return "TRUE" iff the given object address is in the reserved
1151 // region of g1.
1152 bool is_in_g1_reserved(const void* p) const {
1153 return _hrm.reserved().contains(p);
1154 }
1155
1156 // Returns a MemRegion that corresponds to the space that has been
|
1117 jint len);
1118
1119 // True iff an evacuation has failed in the most-recent collection.
1120 bool evacuation_failed() { return _evacuation_failed; }
1121
1122 void remove_from_old_sets(const uint old_regions_removed, const uint humongous_regions_removed);
1123 void prepend_to_freelist(FreeRegionList* list);
1124 void decrement_summary_bytes(size_t bytes);
1125
1126 virtual bool is_in(const void* p) const;
1127 #ifdef ASSERT
1128 // Returns whether p is in one of the available areas of the heap. Slow but
1129 // extensive version.
1130 bool is_in_exact(const void* p) const;
1131 #endif
1132
1133 // Return "TRUE" iff the given object address is within the collection
1134 // set. Assumes that the reference points into the heap.
1135 inline bool is_in_cset(const HeapRegion *hr);
1136 inline bool is_in_cset(oop obj);
1137 inline bool is_in_cset(HeapWord* addr);
1138
1139 inline bool is_in_cset_or_humongous(const oop obj);
1140
1141 private:
1142 // This array is used for a quick test on whether a reference points into
1143 // the collection set or not. Each of the array's elements denotes whether the
1144 // corresponding region is in the collection set or not.
1145 G1InCSetStateFastTestBiasedMappedArray _in_cset_fast_test;
1146
1147 public:
1148
1149 inline InCSetState in_cset_state(const oop obj);
1150
1151 // Return "TRUE" iff the given object address is in the reserved
1152 // region of g1.
1153 bool is_in_g1_reserved(const void* p) const {
1154 return _hrm.reserved().contains(p);
1155 }
1156
1157 // Returns a MemRegion that corresponds to the space that has been
|