< prev index next >

src/hotspot/share/gc/g1/g1CollectedHeap.hpp

Print this page

1313   uint eden_regions_count() const { return _eden.length(); }
1314   uint eden_regions_count(uint node_index) const { return _eden.regions_on_node(node_index); }
1315   uint survivor_regions_count() const { return _survivor.length(); }
1316   uint survivor_regions_count(uint node_index) const { return _survivor.regions_on_node(node_index); }
1317   size_t eden_regions_used_bytes() const { return _eden.used_bytes(); }
1318   size_t survivor_regions_used_bytes() const { return _survivor.used_bytes(); }
1319   uint young_regions_count() const { return _eden.length() + _survivor.length(); }
1320   uint old_regions_count() const { return _old_set.length(); }
1321   uint archive_regions_count() const { return _archive_set.length(); }
1322   uint humongous_regions_count() const { return _humongous_set.length(); }
1323 
1324 #ifdef ASSERT
1325   bool check_young_list_empty();
1326 #endif
1327 
1328   bool is_marked_next(oop obj) const;
1329 
1330   // Determine if an object is dead, given the object and also
1331   // the region to which the object belongs. An object is dead
1332   // iff a) it was not allocated since the last mark, b) it
1333   // is not marked, and c) it is not in an archive region.
1334   bool is_obj_dead(const oop obj, const HeapRegion* hr) const {
1335     return
1336       hr->is_obj_dead(obj, _cm->prev_mark_bitmap()) &&
1337       !hr->is_archive();

1338   }
1339 
1340   // This function returns true when an object has been
1341   // around since the previous marking and hasn't yet
1342   // been marked during this marking, and is not in an archive region.
1343   bool is_obj_ill(const oop obj, const HeapRegion* hr) const {
1344     return
1345       !hr->obj_allocated_since_next_marking(obj) &&
1346       !is_marked_next(obj) &&
1347       !hr->is_archive();
1348   }
1349 
1350   // Determine if an object is dead, given only the object itself.
1351   // This will find the region to which the object belongs and
1352   // then call the region version of the same function.
1353 
1354   // Added if it is NULL it isn't dead.
1355 
1356   inline bool is_obj_dead(const oop obj) const;
1357 
1358   inline bool is_obj_ill(const oop obj) const;
1359 
1360   inline bool is_obj_dead_full(const oop obj, const HeapRegion* hr) const;
1361   inline bool is_obj_dead_full(const oop obj) const;
1362 
1363   G1ConcurrentMark* concurrent_mark() const { return _cm; }
1364 
1365   // Refinement
1366 
1367   G1ConcurrentRefine* concurrent_refine() const { return _cr; }

1313   uint eden_regions_count() const { return _eden.length(); }
1314   uint eden_regions_count(uint node_index) const { return _eden.regions_on_node(node_index); }
1315   uint survivor_regions_count() const { return _survivor.length(); }
1316   uint survivor_regions_count(uint node_index) const { return _survivor.regions_on_node(node_index); }
1317   size_t eden_regions_used_bytes() const { return _eden.used_bytes(); }
1318   size_t survivor_regions_used_bytes() const { return _survivor.used_bytes(); }
1319   uint young_regions_count() const { return _eden.length() + _survivor.length(); }
1320   uint old_regions_count() const { return _old_set.length(); }
1321   uint archive_regions_count() const { return _archive_set.length(); }
1322   uint humongous_regions_count() const { return _humongous_set.length(); }
1323 
1324 #ifdef ASSERT
1325   bool check_young_list_empty();
1326 #endif
1327 
1328   bool is_marked_next(oop obj) const;
1329 
1330   // Determine if an object is dead, given the object and also
1331   // the region to which the object belongs. An object is dead
1332   // iff a) it was not allocated since the last mark, b) it
1333   // is not marked, and c) it is not in a closed archive region.
1334   bool is_obj_dead(const oop obj, const HeapRegion* hr) const {
1335     return
1336       hr->is_obj_dead(obj, _cm->prev_mark_bitmap());
1337 //            &&
1338 //      !hr->is_closed_archive(); // FIXME: remove
1339   }
1340 
1341   // This function returns true when an object has been
1342   // around since the previous marking and hasn't yet
1343   // been marked during this marking, and is not in a closed archive region.
1344   bool is_obj_ill(const oop obj, const HeapRegion* hr) const {
1345     return
1346       !hr->obj_allocated_since_next_marking(obj) &&
1347       !is_marked_next(obj) &&
1348       !hr->is_open_archive();
1349   }
1350 
1351   // Determine if an object is dead, given only the object itself.
1352   // This will find the region to which the object belongs and
1353   // then call the region version of the same function.
1354 
1355   // Added if it is NULL it isn't dead.
1356 
1357   inline bool is_obj_dead(const oop obj) const;
1358 
1359   inline bool is_obj_ill(const oop obj) const;
1360 
1361   inline bool is_obj_dead_full(const oop obj, const HeapRegion* hr) const;
1362   inline bool is_obj_dead_full(const oop obj) const;
1363 
1364   G1ConcurrentMark* concurrent_mark() const { return _cm; }
1365 
1366   // Refinement
1367 
1368   G1ConcurrentRefine* concurrent_refine() const { return _cr; }
< prev index next >