260 } 261 static bool archive_heap_region_fixed() { 262 return _archive_heap_region_fixed; 263 } 264 265 static void archive_java_heap_objects(GrowableArray<MemRegion> *closed, 266 GrowableArray<MemRegion> *open); 267 static void copy_closed_archive_heap_objects(GrowableArray<MemRegion> * closed_archive); 268 static void copy_open_archive_heap_objects(GrowableArray<MemRegion> * open_archive); 269 270 static oop archive_reachable_objects_from(int level, 271 KlassSubGraphInfo* subgraph_info, 272 oop orig_obj, 273 bool is_closed_archive, 274 TRAPS); 275 276 static ResourceBitMap calculate_oopmap(MemRegion region); 277 #endif // INCLUDE_CDS_JAVA_HEAP 278 279 public: 280 static bool is_heap_object_archiving_allowed() { 281 CDS_JAVA_HEAP_ONLY(return (UseG1GC && UseCompressedOops && UseCompressedClassPointers);) 282 NOT_CDS_JAVA_HEAP(return false;) 283 } 284 285 static bool is_heap_region(int idx) { 286 CDS_JAVA_HEAP_ONLY(return (idx >= MetaspaceShared::first_closed_archive_heap_region && 287 idx <= MetaspaceShared::last_open_archive_heap_region)); 288 NOT_CDS_JAVA_HEAP_RETURN_(false); 289 } 290 291 static void set_closed_archive_heap_region_mapped() { 292 CDS_JAVA_HEAP_ONLY(_closed_archive_heap_region_mapped = true); 293 NOT_CDS_JAVA_HEAP_RETURN; 294 } 295 static bool closed_archive_heap_region_mapped() { 296 CDS_JAVA_HEAP_ONLY(return _closed_archive_heap_region_mapped); 297 NOT_CDS_JAVA_HEAP_RETURN_(false); 298 } 299 static void set_open_archive_heap_region_mapped() { | 260 } 261 static bool archive_heap_region_fixed() { 262 return _archive_heap_region_fixed; 263 } 264 265 static void archive_java_heap_objects(GrowableArray<MemRegion> *closed, 266 GrowableArray<MemRegion> *open); 267 static void copy_closed_archive_heap_objects(GrowableArray<MemRegion> * closed_archive); 268 static void copy_open_archive_heap_objects(GrowableArray<MemRegion> * open_archive); 269 270 static oop archive_reachable_objects_from(int level, 271 KlassSubGraphInfo* subgraph_info, 272 oop orig_obj, 273 bool is_closed_archive, 274 TRAPS); 275 276 static ResourceBitMap calculate_oopmap(MemRegion region); 277 #endif // INCLUDE_CDS_JAVA_HEAP 278 279 public: 280 static void run_gc() NOT_CDS_JAVA_HEAP_RETURN; 281 282 static bool is_heap_object_archiving_allowed() { 283 CDS_JAVA_HEAP_ONLY(return (UseG1GC && UseCompressedOops && UseCompressedClassPointers);) 284 NOT_CDS_JAVA_HEAP(return false;) 285 } 286 287 static bool is_heap_region(int idx) { 288 CDS_JAVA_HEAP_ONLY(return (idx >= MetaspaceShared::first_closed_archive_heap_region && 289 idx <= MetaspaceShared::last_open_archive_heap_region)); 290 NOT_CDS_JAVA_HEAP_RETURN_(false); 291 } 292 293 static void set_closed_archive_heap_region_mapped() { 294 CDS_JAVA_HEAP_ONLY(_closed_archive_heap_region_mapped = true); 295 NOT_CDS_JAVA_HEAP_RETURN; 296 } 297 static bool closed_archive_heap_region_mapped() { 298 CDS_JAVA_HEAP_ONLY(return _closed_archive_heap_region_mapped); 299 NOT_CDS_JAVA_HEAP_RETURN_(false); 300 } 301 static void set_open_archive_heap_region_mapped() { |