src/share/vm/oops/instanceKlass.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File bug_jdk8033150 Sdiff src/share/vm/oops

src/share/vm/oops/instanceKlass.hpp

Print this page




 473   Klass* find_interface_field(Symbol* name, Symbol* sig, fieldDescriptor* fd) const;
 474   // find field according to JVM spec 5.4.3.2, returns the klass in which the field is defined
 475   Klass* find_field(Symbol* name, Symbol* sig, fieldDescriptor* fd) const;
 476   // find instance or static fields according to JVM spec 5.4.3.2, returns the klass in which the field is defined
 477   Klass* find_field(Symbol* name, Symbol* sig, bool is_static, fieldDescriptor* fd) const;
 478 
 479   // find a non-static or static field given its offset within the class.
 480   bool contains_field_offset(int offset) {
 481     return instanceOopDesc::contains_field_offset(offset, nonstatic_field_size());
 482   }
 483 
 484   bool find_local_field_from_offset(int offset, bool is_static, fieldDescriptor* fd) const;
 485   bool find_field_from_offset(int offset, bool is_static, fieldDescriptor* fd) const;
 486 
 487   // find a local method (returns NULL if not found)
 488   Method* find_method(Symbol* name, Symbol* signature) const;
 489   static Method* find_method(Array<Method*>* methods, Symbol* name, Symbol* signature);
 490   static Method* find_instance_method(Array<Method*>* methods, Symbol* name, Symbol* signature);
 491 
 492   // find a local method index in default_methods (returns -1 if not found)
 493   static int find_method_index(Array<Method*>* methods, Symbol* name, Symbol* signature);
 494 
 495   // lookup operation (returns NULL if not found)
 496   Method* uncached_lookup_method(Symbol* name, Symbol* signature) const;
 497 
 498   // lookup a method in all the interfaces that this class implements
 499   // (returns NULL if not found)
 500   Method* lookup_method_in_all_interfaces(Symbol* name, Symbol* signature, bool skip_default_methods) const;
 501 
 502   // lookup a method in local defaults then in all interfaces
 503   // (returns NULL if not found)
 504   Method* lookup_method_in_ordered_interfaces(Symbol* name, Symbol* signature) const;
 505 
 506   // Find method indices by name.  If a method with the specified name is
 507   // found the index to the first method is returned, and 'end' is filled in
 508   // with the index of first non-name-matching method.  If no method is found
 509   // -1 is returned.
 510   int find_method_by_name(Symbol* name, int* end);
 511   static int find_method_by_name(Array<Method*>* methods, Symbol* name, int* end);
 512 
 513   // constant pool
 514   ConstantPool* constants() const        { return _constants; }
 515   void set_constants(ConstantPool* c)    { _constants = c; }
 516 


1003 
1004   // Static methods that are used to implement member methods where an exposed this pointer
1005   // is needed due to possible GCs
1006   static bool link_class_impl                           (instanceKlassHandle this_k, bool throw_verifyerror, TRAPS);
1007   static bool verify_code                               (instanceKlassHandle this_k, bool throw_verifyerror, TRAPS);
1008   static void initialize_impl                           (instanceKlassHandle this_k, TRAPS);
1009   static void eager_initialize_impl                     (instanceKlassHandle this_k);
1010   static void set_initialization_state_and_notify_impl  (instanceKlassHandle this_k, ClassState state, TRAPS);
1011   static void call_class_initializer_impl               (instanceKlassHandle this_k, TRAPS);
1012   static Klass* array_klass_impl                        (instanceKlassHandle this_k, bool or_null, int n, TRAPS);
1013   static void do_local_static_fields_impl               (instanceKlassHandle this_k, void f(fieldDescriptor* fd, TRAPS), TRAPS);
1014   /* jni_id_for_impl for jfieldID only */
1015   static JNIid* jni_id_for_impl                         (instanceKlassHandle this_k, int offset);
1016 
1017   // Returns the array class for the n'th dimension
1018   Klass* array_klass_impl(bool or_null, int n, TRAPS);
1019 
1020   // Returns the array class with this class as element type
1021   Klass* array_klass_impl(bool or_null, TRAPS);
1022 




1023   // Free CHeap allocated fields.
1024   void release_C_heap_structures();
1025 public:
1026   // CDS support - remove and restore oops from metadata. Oops are not shared.
1027   virtual void remove_unshareable_info();
1028   virtual void restore_unshareable_info(TRAPS);
1029 
1030   // jvm support
1031   jint compute_modifier_flags(TRAPS) const;
1032 
1033   // JSR-292 support
1034   MemberNameTable* member_names() { return _member_names; }
1035   void set_member_names(MemberNameTable* member_names) { _member_names = member_names; }
1036   void add_member_name(int index, Handle member_name);
1037   oop  get_member_name(int index);
1038 
1039 public:
1040   // JVMTI support
1041   jint jvmti_class_status() const;
1042 




 473   Klass* find_interface_field(Symbol* name, Symbol* sig, fieldDescriptor* fd) const;
 474   // find field according to JVM spec 5.4.3.2, returns the klass in which the field is defined
 475   Klass* find_field(Symbol* name, Symbol* sig, fieldDescriptor* fd) const;
 476   // find instance or static fields according to JVM spec 5.4.3.2, returns the klass in which the field is defined
 477   Klass* find_field(Symbol* name, Symbol* sig, bool is_static, fieldDescriptor* fd) const;
 478 
 479   // find a non-static or static field given its offset within the class.
 480   bool contains_field_offset(int offset) {
 481     return instanceOopDesc::contains_field_offset(offset, nonstatic_field_size());
 482   }
 483 
 484   bool find_local_field_from_offset(int offset, bool is_static, fieldDescriptor* fd) const;
 485   bool find_field_from_offset(int offset, bool is_static, fieldDescriptor* fd) const;
 486 
 487   // find a local method (returns NULL if not found)
 488   Method* find_method(Symbol* name, Symbol* signature) const;
 489   static Method* find_method(Array<Method*>* methods, Symbol* name, Symbol* signature);
 490   static Method* find_instance_method(Array<Method*>* methods, Symbol* name, Symbol* signature);
 491 
 492   // find a local method index in default_methods (returns -1 if not found)
 493   static int find_method_index(Array<Method*>* methods, Symbol* name, Symbol* signature, bool ignore_overpass);
 494 
 495   // lookup operation (returns NULL if not found)
 496   Method* uncached_lookup_method(Symbol* name, Symbol* signature, bool ignore_overpass) const;
 497 
 498   // lookup a method in all the interfaces that this class implements
 499   // (returns NULL if not found)
 500   Method* lookup_method_in_all_interfaces(Symbol* name, Symbol* signature, bool skip_default_methods) const;
 501 
 502   // lookup a method in local defaults then in all interfaces
 503   // (returns NULL if not found)
 504   Method* lookup_method_in_ordered_interfaces(Symbol* name, Symbol* signature) const;
 505 
 506   // Find method indices by name.  If a method with the specified name is
 507   // found the index to the first method is returned, and 'end' is filled in
 508   // with the index of first non-name-matching method.  If no method is found
 509   // -1 is returned.
 510   int find_method_by_name(Symbol* name, int* end);
 511   static int find_method_by_name(Array<Method*>* methods, Symbol* name, int* end);
 512 
 513   // constant pool
 514   ConstantPool* constants() const        { return _constants; }
 515   void set_constants(ConstantPool* c)    { _constants = c; }
 516 


1003 
1004   // Static methods that are used to implement member methods where an exposed this pointer
1005   // is needed due to possible GCs
1006   static bool link_class_impl                           (instanceKlassHandle this_k, bool throw_verifyerror, TRAPS);
1007   static bool verify_code                               (instanceKlassHandle this_k, bool throw_verifyerror, TRAPS);
1008   static void initialize_impl                           (instanceKlassHandle this_k, TRAPS);
1009   static void eager_initialize_impl                     (instanceKlassHandle this_k);
1010   static void set_initialization_state_and_notify_impl  (instanceKlassHandle this_k, ClassState state, TRAPS);
1011   static void call_class_initializer_impl               (instanceKlassHandle this_k, TRAPS);
1012   static Klass* array_klass_impl                        (instanceKlassHandle this_k, bool or_null, int n, TRAPS);
1013   static void do_local_static_fields_impl               (instanceKlassHandle this_k, void f(fieldDescriptor* fd, TRAPS), TRAPS);
1014   /* jni_id_for_impl for jfieldID only */
1015   static JNIid* jni_id_for_impl                         (instanceKlassHandle this_k, int offset);
1016 
1017   // Returns the array class for the n'th dimension
1018   Klass* array_klass_impl(bool or_null, int n, TRAPS);
1019 
1020   // Returns the array class with this class as element type
1021   Klass* array_klass_impl(bool or_null, TRAPS);
1022 
1023   // find a local method (returns NULL if not found)
1024   Method* find_method_impl(Symbol* name, Symbol* signature, bool ignore_overpass) const;
1025   static Method* find_method_impl(Array<Method*>* methods, Symbol* name, Symbol* signature, bool ignore_overpass);
1026 
1027   // Free CHeap allocated fields.
1028   void release_C_heap_structures();
1029 public:
1030   // CDS support - remove and restore oops from metadata. Oops are not shared.
1031   virtual void remove_unshareable_info();
1032   virtual void restore_unshareable_info(TRAPS);
1033 
1034   // jvm support
1035   jint compute_modifier_flags(TRAPS) const;
1036 
1037   // JSR-292 support
1038   MemberNameTable* member_names() { return _member_names; }
1039   void set_member_names(MemberNameTable* member_names) { _member_names = member_names; }
1040   void add_member_name(int index, Handle member_name);
1041   oop  get_member_name(int index);
1042 
1043 public:
1044   // JVMTI support
1045   jint jvmti_class_status() const;
1046 


src/share/vm/oops/instanceKlass.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File