94 #if INCLUDE_CDS_JAVA_HEAP
95 private:
96 static bool obj_equals(oop const& p1, oop const& p2) {
97 return p1 == p2;
98 }
99 static unsigned obj_hash(oop const& p);
100
101 typedef ResourceHashtable<oop, oop,
102 MetaspaceShared::obj_hash,
103 MetaspaceShared::obj_equals,
104 15889, // prime number
105 ResourceObj::C_HEAP> ArchivedObjectCache;
106 static ArchivedObjectCache* _archive_object_cache;
107
108 public:
109 static ArchivedObjectCache* archive_object_cache() {
110 return _archive_object_cache;
111 }
112 static oop find_archived_heap_object(oop obj);
113 static oop archive_heap_object(oop obj, Thread* THREAD);
114 static oop materialize_archived_object(oop obj);
115 static void archive_klass_objects(Thread* THREAD);
116 #endif
117
118 static bool is_archive_object(oop p) NOT_CDS_JAVA_HEAP_RETURN_(false);
119
120 static bool is_heap_object_archiving_allowed() {
121 CDS_JAVA_HEAP_ONLY(return (UseG1GC && UseCompressedOops && UseCompressedClassPointers);)
122 NOT_CDS_JAVA_HEAP(return false;)
123 }
124 static void create_archive_object_cache() {
125 CDS_JAVA_HEAP_ONLY(_archive_object_cache = new (ResourceObj::C_HEAP, mtClass)ArchivedObjectCache(););
126 }
127 static void destroy_archive_object_cache() {
128 CDS_JAVA_HEAP_ONLY(delete _archive_object_cache; _archive_object_cache = NULL;);
129 }
130 static void fixup_mapped_heap_regions() NOT_CDS_JAVA_HEAP_RETURN;
131
132 static void dump_closed_archive_heap_objects(GrowableArray<MemRegion> * closed_archive) NOT_CDS_JAVA_HEAP_RETURN;
133
134 static void dump_open_archive_heap_objects(GrowableArray<MemRegion> * open_archive) NOT_CDS_JAVA_HEAP_RETURN;
|
94 #if INCLUDE_CDS_JAVA_HEAP
95 private:
96 static bool obj_equals(oop const& p1, oop const& p2) {
97 return p1 == p2;
98 }
99 static unsigned obj_hash(oop const& p);
100
101 typedef ResourceHashtable<oop, oop,
102 MetaspaceShared::obj_hash,
103 MetaspaceShared::obj_equals,
104 15889, // prime number
105 ResourceObj::C_HEAP> ArchivedObjectCache;
106 static ArchivedObjectCache* _archive_object_cache;
107
108 public:
109 static ArchivedObjectCache* archive_object_cache() {
110 return _archive_object_cache;
111 }
112 static oop find_archived_heap_object(oop obj);
113 static oop archive_heap_object(oop obj, Thread* THREAD);
114 static oop materialize_archived_object(narrowOop v);
115 static void archive_klass_objects(Thread* THREAD);
116 #endif
117
118 static bool is_archive_object(oop p) NOT_CDS_JAVA_HEAP_RETURN_(false);
119
120 static bool is_heap_object_archiving_allowed() {
121 CDS_JAVA_HEAP_ONLY(return (UseG1GC && UseCompressedOops && UseCompressedClassPointers);)
122 NOT_CDS_JAVA_HEAP(return false;)
123 }
124 static void create_archive_object_cache() {
125 CDS_JAVA_HEAP_ONLY(_archive_object_cache = new (ResourceObj::C_HEAP, mtClass)ArchivedObjectCache(););
126 }
127 static void destroy_archive_object_cache() {
128 CDS_JAVA_HEAP_ONLY(delete _archive_object_cache; _archive_object_cache = NULL;);
129 }
130 static void fixup_mapped_heap_regions() NOT_CDS_JAVA_HEAP_RETURN;
131
132 static void dump_closed_archive_heap_objects(GrowableArray<MemRegion> * closed_archive) NOT_CDS_JAVA_HEAP_RETURN;
133
134 static void dump_open_archive_heap_objects(GrowableArray<MemRegion> * open_archive) NOT_CDS_JAVA_HEAP_RETURN;
|