432 // AOT-compile time only.
433 // Returns -1 if obj is not in the heap root set.
434 static int get_root_index(oop obj) NOT_CDS_JAVA_HEAP_RETURN_(-1);
435
436 static GrowableArrayCHeap<oop, mtClassShared>* pending_roots() { return _pending_roots; }
437
438 // Dump-time and runtime
439 static objArrayOop root_segment(int segment_idx);
440 static oop get_root(int index, bool clear=false);
441
442 // Run-time only
443 static void clear_root(int index);
444 static void get_segment_indexes(int index, int& segment_index, int& internal_index);
445 static void setup_test_class(const char* test_class_name) PRODUCT_RETURN;
446 #endif // INCLUDE_CDS_JAVA_HEAP
447
448 public:
449 static void finish_materialize_objects() NOT_CDS_JAVA_HEAP_RETURN;
450
451 static void write_heap(AOTMappedHeapInfo* mapped_heap_info, AOTStreamedHeapInfo* streamed_heap_info) NOT_CDS_JAVA_HEAP_RETURN;
452 static objArrayOop scratch_resolved_references(ConstantPool* src);
453 static void add_scratch_resolved_references(ConstantPool* src, objArrayOop dest) NOT_CDS_JAVA_HEAP_RETURN;
454 static void remove_scratch_resolved_references(ConstantPool* src) NOT_CDS_JAVA_HEAP_RETURN;
455 static void init_dumping() NOT_CDS_JAVA_HEAP_RETURN;
456 static void init_scratch_objects_for_basic_type_mirrors(TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
457 static void init_box_classes(TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
458 static bool is_heap_region(int idx) {
459 CDS_JAVA_HEAP_ONLY(return (idx == AOTMetaspace::hp);)
460 NOT_CDS_JAVA_HEAP_RETURN_(false);
461 }
462 static void delete_tables_with_raw_oops() NOT_CDS_JAVA_HEAP_RETURN;
463
464 static void resolve_classes(JavaThread* current) NOT_CDS_JAVA_HEAP_RETURN;
465 static void initialize_from_archived_subgraph(JavaThread* current, Klass* k) NOT_CDS_JAVA_HEAP_RETURN;
466
467 static void init_for_dumping(TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
468 static void init_heap_writer() NOT_CDS_JAVA_HEAP_RETURN;
469 static void write_subgraph_info_table() NOT_CDS_JAVA_HEAP_RETURN;
470 static void serialize_tables(SerializeClosure* soc) NOT_CDS_JAVA_HEAP_RETURN;
471
472 #ifndef PRODUCT
|
432 // AOT-compile time only.
433 // Returns -1 if obj is not in the heap root set.
434 static int get_root_index(oop obj) NOT_CDS_JAVA_HEAP_RETURN_(-1);
435
436 static GrowableArrayCHeap<oop, mtClassShared>* pending_roots() { return _pending_roots; }
437
438 // Dump-time and runtime
439 static objArrayOop root_segment(int segment_idx);
440 static oop get_root(int index, bool clear=false);
441
442 // Run-time only
443 static void clear_root(int index);
444 static void get_segment_indexes(int index, int& segment_index, int& internal_index);
445 static void setup_test_class(const char* test_class_name) PRODUCT_RETURN;
446 #endif // INCLUDE_CDS_JAVA_HEAP
447
448 public:
449 static void finish_materialize_objects() NOT_CDS_JAVA_HEAP_RETURN;
450
451 static void write_heap(AOTMappedHeapInfo* mapped_heap_info, AOTStreamedHeapInfo* streamed_heap_info) NOT_CDS_JAVA_HEAP_RETURN;
452 static refArrayOop scratch_resolved_references(ConstantPool* src);
453 static void add_scratch_resolved_references(ConstantPool* src, objArrayOop dest) NOT_CDS_JAVA_HEAP_RETURN;
454 static void remove_scratch_resolved_references(ConstantPool* src) NOT_CDS_JAVA_HEAP_RETURN;
455 static void init_dumping() NOT_CDS_JAVA_HEAP_RETURN;
456 static void init_scratch_objects_for_basic_type_mirrors(TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
457 static void init_box_classes(TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
458 static bool is_heap_region(int idx) {
459 CDS_JAVA_HEAP_ONLY(return (idx == AOTMetaspace::hp);)
460 NOT_CDS_JAVA_HEAP_RETURN_(false);
461 }
462 static void delete_tables_with_raw_oops() NOT_CDS_JAVA_HEAP_RETURN;
463
464 static void resolve_classes(JavaThread* current) NOT_CDS_JAVA_HEAP_RETURN;
465 static void initialize_from_archived_subgraph(JavaThread* current, Klass* k) NOT_CDS_JAVA_HEAP_RETURN;
466
467 static void init_for_dumping(TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
468 static void init_heap_writer() NOT_CDS_JAVA_HEAP_RETURN;
469 static void write_subgraph_info_table() NOT_CDS_JAVA_HEAP_RETURN;
470 static void serialize_tables(SerializeClosure* soc) NOT_CDS_JAVA_HEAP_RETURN;
471
472 #ifndef PRODUCT
|