1192 void deallocate_contents(ClassLoaderData* loader_data);
1193 static void deallocate_methods(ClassLoaderData* loader_data,
1194 Array<Method*>* methods);
1195 void static deallocate_interfaces(ClassLoaderData* loader_data,
1196 const Klass* super_klass,
1197 Array<InstanceKlass*>* local_interfaces,
1198 Array<InstanceKlass*>* transitive_interfaces);
1199 void static deallocate_record_components(ClassLoaderData* loader_data,
1200 Array<RecordComponent*>* record_component);
1201
1202 // The constant pool is on stack if any of the methods are executing or
1203 // referenced by handles.
1204 bool on_stack() const { return _constants->on_stack(); }
1205
1206 // callbacks for actions during class unloading
1207 static void unload_class(InstanceKlass* ik);
1208 static void release_C_heap_structures(InstanceKlass* ik);
1209
1210 // Naming
1211 const char* signature_name() const;
1212 static Symbol* package_from_name(const Symbol* name, TRAPS);
1213
1214 // Oop fields (and metadata) iterators
1215 //
1216 // The InstanceKlass iterators also visits the Object's klass.
1217
1218 // Forward iteration
1219 public:
1220 // Iterate over all oop fields in the oop maps.
1221 template <typename T, class OopClosureType>
1222 inline void oop_oop_iterate_oop_maps(oop obj, OopClosureType* closure);
1223
1224 // Iterate over all oop fields and metadata.
1225 template <typename T, class OopClosureType>
1226 inline void oop_oop_iterate(oop obj, OopClosureType* closure);
1227
1228 // Iterate over all oop fields in one oop map.
1229 template <typename T, class OopClosureType>
1230 inline void oop_oop_iterate_oop_map(OopMapBlock* map, oop obj, OopClosureType* closure);
1231
1232
|
1192 void deallocate_contents(ClassLoaderData* loader_data);
1193 static void deallocate_methods(ClassLoaderData* loader_data,
1194 Array<Method*>* methods);
1195 void static deallocate_interfaces(ClassLoaderData* loader_data,
1196 const Klass* super_klass,
1197 Array<InstanceKlass*>* local_interfaces,
1198 Array<InstanceKlass*>* transitive_interfaces);
1199 void static deallocate_record_components(ClassLoaderData* loader_data,
1200 Array<RecordComponent*>* record_component);
1201
1202 // The constant pool is on stack if any of the methods are executing or
1203 // referenced by handles.
1204 bool on_stack() const { return _constants->on_stack(); }
1205
1206 // callbacks for actions during class unloading
1207 static void unload_class(InstanceKlass* ik);
1208 static void release_C_heap_structures(InstanceKlass* ik);
1209
1210 // Naming
1211 const char* signature_name() const;
1212
1213 // Extract package name from a fully qualified class name
1214 // *bad_class_name is set to true if there's a problem with parsing class_name, to
1215 // distinguish from a class_name with no package name, as both cases have a NULL return value
1216 static Symbol* package_from_name(const Symbol* class_name, bool* bad_class_name = NULL);
1217
1218 // Oop fields (and metadata) iterators
1219 //
1220 // The InstanceKlass iterators also visits the Object's klass.
1221
1222 // Forward iteration
1223 public:
1224 // Iterate over all oop fields in the oop maps.
1225 template <typename T, class OopClosureType>
1226 inline void oop_oop_iterate_oop_maps(oop obj, OopClosureType* closure);
1227
1228 // Iterate over all oop fields and metadata.
1229 template <typename T, class OopClosureType>
1230 inline void oop_oop_iterate(oop obj, OopClosureType* closure);
1231
1232 // Iterate over all oop fields in one oop map.
1233 template <typename T, class OopClosureType>
1234 inline void oop_oop_iterate_oop_map(OopMapBlock* map, oop obj, OopClosureType* closure);
1235
1236
|