1159 void static deallocate_interfaces(ClassLoaderData* loader_data,
1160 const Klass* super_klass,
1161 Array<Klass*>* local_interfaces,
1162 Array<Klass*>* transitive_interfaces);
1163
1164 // The constant pool is on stack if any of the methods are executing or
1165 // referenced by handles.
1166 bool on_stack() const { return _constants->on_stack(); }
1167
1168 // callbacks for actions during class unloading
1169 static void notify_unload_class(InstanceKlass* ik);
1170 static void release_C_heap_structures(InstanceKlass* ik);
1171
1172 // Naming
1173 const char* signature_name() const;
1174 static Symbol* package_from_name(const Symbol* name, TRAPS);
1175
1176 // GC specific object visitors
1177 //
1178 // Mark Sweep
1179 int oop_ms_adjust_pointers(oop obj);
1180 #if INCLUDE_ALL_GCS
1181 // Parallel Scavenge
1182 void oop_ps_push_contents( oop obj, PSPromotionManager* pm);
1183 // Parallel Compact
1184 void oop_pc_follow_contents(oop obj, ParCompactionManager* cm);
1185 void oop_pc_update_pointers(oop obj, ParCompactionManager* cm);
1186 #endif
1187
1188 // Oop fields (and metadata) iterators
1189 // [nv = true] Use non-virtual calls to do_oop_nv.
1190 // [nv = false] Use virtual calls to do_oop.
1191 //
1192 // The InstanceKlass iterators also visits the Object's klass.
1193
1194 // Forward iteration
1195 public:
1196 // Iterate over all oop fields in the oop maps.
1197 template <bool nv, class OopClosureType>
1198 inline void oop_oop_iterate_oop_maps(oop obj, OopClosureType* closure);
1199
|
1159 void static deallocate_interfaces(ClassLoaderData* loader_data,
1160 const Klass* super_klass,
1161 Array<Klass*>* local_interfaces,
1162 Array<Klass*>* transitive_interfaces);
1163
1164 // The constant pool is on stack if any of the methods are executing or
1165 // referenced by handles.
1166 bool on_stack() const { return _constants->on_stack(); }
1167
1168 // callbacks for actions during class unloading
1169 static void notify_unload_class(InstanceKlass* ik);
1170 static void release_C_heap_structures(InstanceKlass* ik);
1171
1172 // Naming
1173 const char* signature_name() const;
1174 static Symbol* package_from_name(const Symbol* name, TRAPS);
1175
1176 // GC specific object visitors
1177 //
1178 // Mark Sweep
1179 int oop_ms_adjust_pointers(oop obj, MarkSweep* ms);
1180 #if INCLUDE_ALL_GCS
1181 // Parallel Scavenge
1182 void oop_ps_push_contents( oop obj, PSPromotionManager* pm);
1183 // Parallel Compact
1184 void oop_pc_follow_contents(oop obj, ParCompactionManager* cm);
1185 void oop_pc_update_pointers(oop obj, ParCompactionManager* cm);
1186 #endif
1187
1188 // Oop fields (and metadata) iterators
1189 // [nv = true] Use non-virtual calls to do_oop_nv.
1190 // [nv = false] Use virtual calls to do_oop.
1191 //
1192 // The InstanceKlass iterators also visits the Object's klass.
1193
1194 // Forward iteration
1195 public:
1196 // Iterate over all oop fields in the oop maps.
1197 template <bool nv, class OopClosureType>
1198 inline void oop_oop_iterate_oop_maps(oop obj, OopClosureType* closure);
1199
|