< prev index next >

src/hotspot/share/oops/instanceKlass.hpp

Print this page




1248  public:
1249   // Iterate over all oop fields in the oop maps.
1250   template <typename T, class OopClosureType>
1251   inline void oop_oop_iterate_oop_maps_bounded(oop obj, OopClosureType* closure, MemRegion mr);
1252 
1253   // Iterate over all oop fields and metadata.
1254   template <typename T, class OopClosureType>
1255   inline void oop_oop_iterate_bounded(oop obj, OopClosureType* closure, MemRegion mr);
1256 
1257  private:
1258   // Iterate over all oop fields in one oop map.
1259   template <typename T, class OopClosureType>
1260   inline void oop_oop_iterate_oop_map_bounded(OopMapBlock* map, oop obj, OopClosureType* closure, MemRegion mr);
1261 
1262 
1263  public:
1264   u2 idnum_allocated_count() const      { return _idnum_allocated_count; }
1265 
1266 public:
1267   void set_in_error_state() {
1268     assert(DumpSharedSpaces, "only call this when dumping archive");
1269     _init_state = initialization_error;
1270   }
1271   bool check_sharing_error_state();
1272 
1273 private:
1274   // initialization state
1275   void set_init_state(ClassState state);
1276   void set_rewritten()                  { _misc_flags |= _misc_rewritten; }
1277   void set_init_thread(Thread *thread)  { _init_thread = thread; }
1278 
1279   // The RedefineClasses() API can cause new method idnums to be needed
1280   // which will cause the caches to grow. Safety requires different
1281   // cache management logic if the caches can grow instead of just
1282   // going from NULL to non-NULL.
1283   bool idnum_can_increment() const      { return has_been_redefined(); }
1284   inline jmethodID* methods_jmethod_ids_acquire() const;
1285   inline void release_set_methods_jmethod_ids(jmethodID* jmeths);
1286 
1287   // Lock during initialization
1288 public:




1248  public:
1249   // Iterate over all oop fields in the oop maps.
1250   template <typename T, class OopClosureType>
1251   inline void oop_oop_iterate_oop_maps_bounded(oop obj, OopClosureType* closure, MemRegion mr);
1252 
1253   // Iterate over all oop fields and metadata.
1254   template <typename T, class OopClosureType>
1255   inline void oop_oop_iterate_bounded(oop obj, OopClosureType* closure, MemRegion mr);
1256 
1257  private:
1258   // Iterate over all oop fields in one oop map.
1259   template <typename T, class OopClosureType>
1260   inline void oop_oop_iterate_oop_map_bounded(OopMapBlock* map, oop obj, OopClosureType* closure, MemRegion mr);
1261 
1262 
1263  public:
1264   u2 idnum_allocated_count() const      { return _idnum_allocated_count; }
1265 
1266 public:
1267   void set_in_error_state() {
1268     Arguments::assert_is_dumping_archive();
1269     _init_state = initialization_error;
1270   }
1271   bool check_sharing_error_state();
1272 
1273 private:
1274   // initialization state
1275   void set_init_state(ClassState state);
1276   void set_rewritten()                  { _misc_flags |= _misc_rewritten; }
1277   void set_init_thread(Thread *thread)  { _init_thread = thread; }
1278 
1279   // The RedefineClasses() API can cause new method idnums to be needed
1280   // which will cause the caches to grow. Safety requires different
1281   // cache management logic if the caches can grow instead of just
1282   // going from NULL to non-NULL.
1283   bool idnum_can_increment() const      { return has_been_redefined(); }
1284   inline jmethodID* methods_jmethod_ids_acquire() const;
1285   inline void release_set_methods_jmethod_ids(jmethodID* jmeths);
1286 
1287   // Lock during initialization
1288 public:


< prev index next >