97 static ArrayKlass* cast(Klass* k) {
98 return const_cast<ArrayKlass*>(cast(const_cast<const Klass*>(k)));
99 }
100
101 static const ArrayKlass* cast(const Klass* k) {
102 assert(k->is_array_klass(), "cast to ArrayKlass");
103 return static_cast<const ArrayKlass*>(k);
104 }
105
106 GrowableArray<Klass*>* compute_secondary_supers(int num_extra_slots,
107 Array<InstanceKlass*>* transitive_interfaces) override;
108
109 // Sizing
110 static int static_size(int header_size);
111
112 void metaspace_pointers_do(MetaspaceClosure* iter) override;
113
114 // Return a handle.
115 static void complete_create_array_klass(ArrayKlass* k, Klass* super_klass, ModuleEntry* module, TRAPS);
116
117 // JVMTI support
118 jint jvmti_class_status() const override;
119
120 #if INCLUDE_CDS
121 // CDS support - remove and restore oops from metadata. Oops are not shared.
122 void remove_unshareable_info() override;
123 void remove_java_mirror() override;
124 void restore_unshareable_info(ClassLoaderData* loader_data, Handle protection_domain, TRAPS);
125 void cds_print_value_on(outputStream* st) const;
126 #endif
127
128 void log_array_class_load(Klass* k);
129 // Printing
130 void print_on(outputStream* st) const override;
131 void print_value_on(outputStream* st) const override;
132
133 void oop_print_on(oop obj, outputStream* st) override;
134
135 // Verification
136 void verify_on(outputStream* st) override;
|
97 static ArrayKlass* cast(Klass* k) {
98 return const_cast<ArrayKlass*>(cast(const_cast<const Klass*>(k)));
99 }
100
101 static const ArrayKlass* cast(const Klass* k) {
102 assert(k->is_array_klass(), "cast to ArrayKlass");
103 return static_cast<const ArrayKlass*>(k);
104 }
105
106 GrowableArray<Klass*>* compute_secondary_supers(int num_extra_slots,
107 Array<InstanceKlass*>* transitive_interfaces) override;
108
109 // Sizing
110 static int static_size(int header_size);
111
112 void metaspace_pointers_do(MetaspaceClosure* iter) override;
113
114 // Return a handle.
115 static void complete_create_array_klass(ArrayKlass* k, Klass* super_klass, ModuleEntry* module, TRAPS);
116
117 int hash_offset_in_bytes(oop obj, markWord m) const override;
118
119 // JVMTI support
120 jint jvmti_class_status() const override;
121
122 #if INCLUDE_CDS
123 // CDS support - remove and restore oops from metadata. Oops are not shared.
124 void remove_unshareable_info() override;
125 void remove_java_mirror() override;
126 void restore_unshareable_info(ClassLoaderData* loader_data, Handle protection_domain, TRAPS);
127 void cds_print_value_on(outputStream* st) const;
128 #endif
129
130 void log_array_class_load(Klass* k);
131 // Printing
132 void print_on(outputStream* st) const override;
133 void print_value_on(outputStream* st) const override;
134
135 void oop_print_on(oop obj, outputStream* st) override;
136
137 // Verification
138 void verify_on(outputStream* st) override;
|