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