< prev index next >

src/share/vm/oops/instanceKlass.hpp

Print this page
rev 12851 : 8138737: Remove oop_ms_adjust_pointers and use oop_iterate instead
Reviewed-by:


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




1146                                  Array<Method*>* methods);
1147   void static deallocate_interfaces(ClassLoaderData* loader_data,
1148                                     const Klass* super_klass,
1149                                     Array<Klass*>* local_interfaces,
1150                                     Array<Klass*>* transitive_interfaces);
1151 
1152   // The constant pool is on stack if any of the methods are executing or
1153   // referenced by handles.
1154   bool on_stack() const { return _constants->on_stack(); }
1155 
1156   // callbacks for actions during class unloading
1157   static void notify_unload_class(InstanceKlass* ik);
1158   static void release_C_heap_structures(InstanceKlass* ik);
1159 
1160   // Naming
1161   const char* signature_name() const;
1162   static Symbol* package_from_name(const Symbol* name, TRAPS);
1163 
1164   // GC specific object visitors
1165   //


1166 #if INCLUDE_ALL_GCS
1167   // Parallel Scavenge
1168   void oop_ps_push_contents(  oop obj, PSPromotionManager* pm);
1169   // Parallel Compact
1170   void oop_pc_follow_contents(oop obj, ParCompactionManager* cm);
1171   void oop_pc_update_pointers(oop obj, ParCompactionManager* cm);
1172 #endif
1173 
1174   // Oop fields (and metadata) iterators
1175   //  [nv = true]  Use non-virtual calls to do_oop_nv.
1176   //  [nv = false] Use virtual calls to do_oop.
1177   //
1178   // The InstanceKlass iterators also visits the Object's klass.
1179 
1180   // Forward iteration
1181  public:
1182   // Iterate over all oop fields in the oop maps.
1183   template <bool nv, class OopClosureType>
1184   inline void oop_oop_iterate_oop_maps(oop obj, OopClosureType* closure);
1185 


< prev index next >