< prev index next >

src/hotspot/share/oops/instanceKlass.hpp

Print this page




 494     inner_class_outer_class_info_offset = 1,
 495     inner_class_inner_name_offset = 2,
 496     inner_class_access_flags_offset = 3,
 497     inner_class_next_offset = 4
 498   };
 499 
 500   enum EnclosingMethodAttributeOffset {
 501     enclosing_method_class_index_offset = 0,
 502     enclosing_method_method_index_offset = 1,
 503     enclosing_method_attribute_size = 2
 504   };
 505 
 506   // method override check
 507   bool is_override(const methodHandle& super_method, Handle targetclassloader, Symbol* targetclassname, TRAPS);
 508 
 509   // package
 510   PackageEntry* package() const     { return _package_entry; }
 511   ModuleEntry* module() const;
 512   bool in_unnamed_package() const   { return (_package_entry == NULL); }
 513   void set_package(PackageEntry* p) { _package_entry = p; }
 514   void set_package(ClassLoaderData* loader_data, TRAPS);
 515   bool is_same_class_package(const Klass* class2) const;
 516   bool is_same_class_package(oop other_class_loader, const Symbol* other_class_name) const;
 517 
 518   // find an enclosing class
 519   InstanceKlass* compute_enclosing_class(bool* inner_is_member, TRAPS) const;
 520 
 521   // Find InnerClasses attribute and return outer_class_info_index & inner_name_index.
 522   bool find_inner_classes_attr(int* ooff, int* noff, TRAPS) const;
 523 
 524  private:
 525   // Check prohibited package ("java/" only loadable by boot or platform loaders)
 526   static void check_prohibited_package(Symbol* class_name,
 527                                        ClassLoaderData* loader_data,
 528                                        TRAPS);
 529  public:
 530   // initialization state
 531   bool is_loaded() const                   { return _init_state >= loaded; }
 532   bool is_linked() const                   { return _init_state >= linked; }
 533   bool is_initialized() const              { return _init_state == fully_initialized; }
 534   bool is_not_initialized() const          { return _init_state <  being_initialized; }


1310 
1311   static Method* find_method_impl(const Array<Method*>* methods,
1312                                   const Symbol* name,
1313                                   const Symbol* signature,
1314                                   OverpassLookupMode overpass_mode,
1315                                   StaticLookupMode static_mode,
1316                                   PrivateLookupMode private_mode);
1317 
1318   // Free CHeap allocated fields.
1319   void release_C_heap_structures();
1320 
1321 #if INCLUDE_JVMTI
1322   // RedefineClasses support
1323   void link_previous_versions(InstanceKlass* pv) { _previous_versions = pv; }
1324   void mark_newly_obsolete_methods(Array<Method*>* old_methods, int emcp_method_count);
1325 #endif
1326 public:
1327   // CDS support - remove and restore oops from metadata. Oops are not shared.
1328   virtual void remove_unshareable_info();
1329   virtual void remove_java_mirror();
1330   virtual void restore_unshareable_info(ClassLoaderData* loader_data, Handle protection_domain, TRAPS);
1331 
1332   // jvm support
1333   jint compute_modifier_flags(TRAPS) const;
1334 
1335 public:
1336   // JVMTI support
1337   jint jvmti_class_status() const;
1338 
1339   virtual void metaspace_pointers_do(MetaspaceClosure* iter);
1340 
1341  public:
1342   // Printing
1343 #ifndef PRODUCT
1344   void print_on(outputStream* st) const;
1345 #endif
1346   void print_value_on(outputStream* st) const;
1347 
1348   void oop_print_value_on(oop obj, outputStream* st);
1349 
1350 #ifndef PRODUCT




 494     inner_class_outer_class_info_offset = 1,
 495     inner_class_inner_name_offset = 2,
 496     inner_class_access_flags_offset = 3,
 497     inner_class_next_offset = 4
 498   };
 499 
 500   enum EnclosingMethodAttributeOffset {
 501     enclosing_method_class_index_offset = 0,
 502     enclosing_method_method_index_offset = 1,
 503     enclosing_method_attribute_size = 2
 504   };
 505 
 506   // method override check
 507   bool is_override(const methodHandle& super_method, Handle targetclassloader, Symbol* targetclassname, TRAPS);
 508 
 509   // package
 510   PackageEntry* package() const     { return _package_entry; }
 511   ModuleEntry* module() const;
 512   bool in_unnamed_package() const   { return (_package_entry == NULL); }
 513   void set_package(PackageEntry* p) { _package_entry = p; }
 514   void set_package(ClassLoaderData* loader_data, PackageEntry* pkg_entry, TRAPS);
 515   bool is_same_class_package(const Klass* class2) const;
 516   bool is_same_class_package(oop other_class_loader, const Symbol* other_class_name) const;
 517 
 518   // find an enclosing class
 519   InstanceKlass* compute_enclosing_class(bool* inner_is_member, TRAPS) const;
 520 
 521   // Find InnerClasses attribute and return outer_class_info_index & inner_name_index.
 522   bool find_inner_classes_attr(int* ooff, int* noff, TRAPS) const;
 523 
 524  private:
 525   // Check prohibited package ("java/" only loadable by boot or platform loaders)
 526   static void check_prohibited_package(Symbol* class_name,
 527                                        ClassLoaderData* loader_data,
 528                                        TRAPS);
 529  public:
 530   // initialization state
 531   bool is_loaded() const                   { return _init_state >= loaded; }
 532   bool is_linked() const                   { return _init_state >= linked; }
 533   bool is_initialized() const              { return _init_state == fully_initialized; }
 534   bool is_not_initialized() const          { return _init_state <  being_initialized; }


1310 
1311   static Method* find_method_impl(const Array<Method*>* methods,
1312                                   const Symbol* name,
1313                                   const Symbol* signature,
1314                                   OverpassLookupMode overpass_mode,
1315                                   StaticLookupMode static_mode,
1316                                   PrivateLookupMode private_mode);
1317 
1318   // Free CHeap allocated fields.
1319   void release_C_heap_structures();
1320 
1321 #if INCLUDE_JVMTI
1322   // RedefineClasses support
1323   void link_previous_versions(InstanceKlass* pv) { _previous_versions = pv; }
1324   void mark_newly_obsolete_methods(Array<Method*>* old_methods, int emcp_method_count);
1325 #endif
1326 public:
1327   // CDS support - remove and restore oops from metadata. Oops are not shared.
1328   virtual void remove_unshareable_info();
1329   virtual void remove_java_mirror();
1330   void restore_unshareable_info(ClassLoaderData* loader_data, Handle protection_domain, PackageEntry* pkg_entry, TRAPS);
1331 
1332   // jvm support
1333   jint compute_modifier_flags(TRAPS) const;
1334 
1335 public:
1336   // JVMTI support
1337   jint jvmti_class_status() const;
1338 
1339   virtual void metaspace_pointers_do(MetaspaceClosure* iter);
1340 
1341  public:
1342   // Printing
1343 #ifndef PRODUCT
1344   void print_on(outputStream* st) const;
1345 #endif
1346   void print_value_on(outputStream* st) const;
1347 
1348   void oop_print_value_on(oop obj, outputStream* st);
1349 
1350 #ifndef PRODUCT


< prev index next >