255 static int classRedefinedCount_offset;
256
257 static GrowableArray<Klass*>* _fixup_mirror_list;
258 static GrowableArray<Klass*>* _fixup_module_field_list;
259
260 static void set_init_lock(oop java_class, oop init_lock);
261 static void set_protection_domain(oop java_class, oop protection_domain);
262 static void set_class_loader(oop java_class, oop class_loader);
263 static void set_component_mirror(oop java_class, oop comp_mirror);
264 static void initialize_mirror_fields(Klass* k, Handle mirror, Handle protection_domain, TRAPS);
265 static void set_mirror_module_field(Klass* K, Handle mirror, Handle module, TRAPS);
266 public:
267 static void allocate_fixup_lists();
268 static void compute_offsets();
269
270 // Instance creation
271 static void create_mirror(Klass* k, Handle class_loader, Handle module,
272 Handle protection_domain, TRAPS);
273 static void fixup_mirror(Klass* k, TRAPS);
274 static oop create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS);
275
276 // Archiving
277 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
278 static void archive_basic_type_mirrors(TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
279 static oop archive_mirror(Klass* k, TRAPS) NOT_CDS_JAVA_HEAP_RETURN_(NULL);
280 static oop process_archived_mirror(Klass* k, oop mirror, oop archived_mirror, Thread *THREAD)
281 NOT_CDS_JAVA_HEAP_RETURN_(NULL);
282 static bool restore_archived_mirror(Klass *k, Handle class_loader, Handle module,
283 Handle protection_domain,
284 TRAPS) NOT_CDS_JAVA_HEAP_RETURN_(false);
285
286 static void fixup_module_field(Klass* k, Handle module);
287
288 // Conversion
289 static Klass* as_Klass(oop java_class);
290 static Klass* as_Klass_raw(oop java_class);
291 static void set_klass(oop java_class, Klass* klass);
292 static BasicType as_BasicType(oop java_class, Klass** reference_klass = NULL);
293 static Symbol* as_signature(oop java_class, bool intern_if_not_found);
294 static void print_signature(oop java_class, outputStream *st);
|
255 static int classRedefinedCount_offset;
256
257 static GrowableArray<Klass*>* _fixup_mirror_list;
258 static GrowableArray<Klass*>* _fixup_module_field_list;
259
260 static void set_init_lock(oop java_class, oop init_lock);
261 static void set_protection_domain(oop java_class, oop protection_domain);
262 static void set_class_loader(oop java_class, oop class_loader);
263 static void set_component_mirror(oop java_class, oop comp_mirror);
264 static void initialize_mirror_fields(Klass* k, Handle mirror, Handle protection_domain, TRAPS);
265 static void set_mirror_module_field(Klass* K, Handle mirror, Handle module, TRAPS);
266 public:
267 static void allocate_fixup_lists();
268 static void compute_offsets();
269
270 // Instance creation
271 static void create_mirror(Klass* k, Handle class_loader, Handle module,
272 Handle protection_domain, TRAPS);
273 static void fixup_mirror(Klass* k, TRAPS);
274 static oop create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS);
275 static void update_archived_mirror_native_pointers(oop archived_mirror) NOT_CDS_JAVA_HEAP_RETURN;
276
277 // Archiving
278 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
279 static void archive_basic_type_mirrors(TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
280 static oop archive_mirror(Klass* k, TRAPS) NOT_CDS_JAVA_HEAP_RETURN_(NULL);
281 static oop process_archived_mirror(Klass* k, oop mirror, oop archived_mirror, Thread *THREAD)
282 NOT_CDS_JAVA_HEAP_RETURN_(NULL);
283 static bool restore_archived_mirror(Klass *k, Handle class_loader, Handle module,
284 Handle protection_domain,
285 TRAPS) NOT_CDS_JAVA_HEAP_RETURN_(false);
286
287 static void fixup_module_field(Klass* k, Handle module);
288
289 // Conversion
290 static Klass* as_Klass(oop java_class);
291 static Klass* as_Klass_raw(oop java_class);
292 static void set_klass(oop java_class, Klass* klass);
293 static BasicType as_BasicType(oop java_class, Klass** reference_klass = NULL);
294 static Symbol* as_signature(oop java_class, bool intern_if_not_found);
295 static void print_signature(oop java_class, outputStream *st);
|