< prev index next >

src/hotspot/share/classfile/javaClasses.hpp

Print this page




1142     return klass->is_subclass_of(SystemDictionary::MemberName_klass());
1143   }
1144   static bool is_instance(oop obj);
1145 
1146   static bool is_method(oop obj);
1147 
1148   // Relevant integer codes (keep these in synch. with MethodHandleNatives.Constants):
1149   enum {
1150     MN_IS_METHOD             = 0x00010000, // method (not constructor)
1151     MN_IS_CONSTRUCTOR        = 0x00020000, // constructor
1152     MN_IS_FIELD              = 0x00040000, // field
1153     MN_IS_TYPE               = 0x00080000, // nested type
1154     MN_CALLER_SENSITIVE      = 0x00100000, // @CallerSensitive annotation detected
1155     MN_REFERENCE_KIND_SHIFT  = 24, // refKind
1156     MN_REFERENCE_KIND_MASK   = 0x0F000000 >> MN_REFERENCE_KIND_SHIFT,
1157     // The SEARCH_* bits are not for MN.flags but for the matchFlags argument of MHN.getMembers:
1158     MN_SEARCH_SUPERCLASSES   = 0x00100000, // walk super classes
1159     MN_SEARCH_INTERFACES     = 0x00200000, // walk implemented interfaces
1160     MN_NESTMATE_CLASS        = 0x00000001,
1161     MN_HIDDEN_CLASS          = 0x00000002,
1162     MN_WEAK_CLASS            = 0x00000004,
1163     MN_ACCESS_VM_ANNOTATIONS = 0x00100000
1164   };
1165 
1166   // Accessors for code generation:
1167   static int clazz_offset_in_bytes()            { return _clazz_offset; }
1168   static int type_offset_in_bytes()             { return _type_offset; }
1169   static int name_offset_in_bytes()             { return _name_offset; }
1170   static int flags_offset_in_bytes()            { return _flags_offset; }
1171   static int method_offset_in_bytes()           { return _method_offset; }
1172   static int vmindex_offset_in_bytes()          { return _vmindex_offset; }
1173 };
1174 
1175 
1176 // Interface to java.lang.invoke.MethodType objects
1177 
1178 class java_lang_invoke_MethodType: AllStatic {
1179   friend class JavaClasses;
1180 
1181  private:
1182   static int _rtype_offset;




1142     return klass->is_subclass_of(SystemDictionary::MemberName_klass());
1143   }
1144   static bool is_instance(oop obj);
1145 
1146   static bool is_method(oop obj);
1147 
1148   // Relevant integer codes (keep these in synch. with MethodHandleNatives.Constants):
1149   enum {
1150     MN_IS_METHOD             = 0x00010000, // method (not constructor)
1151     MN_IS_CONSTRUCTOR        = 0x00020000, // constructor
1152     MN_IS_FIELD              = 0x00040000, // field
1153     MN_IS_TYPE               = 0x00080000, // nested type
1154     MN_CALLER_SENSITIVE      = 0x00100000, // @CallerSensitive annotation detected
1155     MN_REFERENCE_KIND_SHIFT  = 24, // refKind
1156     MN_REFERENCE_KIND_MASK   = 0x0F000000 >> MN_REFERENCE_KIND_SHIFT,
1157     // The SEARCH_* bits are not for MN.flags but for the matchFlags argument of MHN.getMembers:
1158     MN_SEARCH_SUPERCLASSES   = 0x00100000, // walk super classes
1159     MN_SEARCH_INTERFACES     = 0x00200000, // walk implemented interfaces
1160     MN_NESTMATE_CLASS        = 0x00000001,
1161     MN_HIDDEN_CLASS          = 0x00000002,
1162     MN_STRONG_LOADER_LINK    = 0x00000004,
1163     MN_ACCESS_VM_ANNOTATIONS = 0x00100000
1164   };
1165 
1166   // Accessors for code generation:
1167   static int clazz_offset_in_bytes()            { return _clazz_offset; }
1168   static int type_offset_in_bytes()             { return _type_offset; }
1169   static int name_offset_in_bytes()             { return _name_offset; }
1170   static int flags_offset_in_bytes()            { return _flags_offset; }
1171   static int method_offset_in_bytes()           { return _method_offset; }
1172   static int vmindex_offset_in_bytes()          { return _vmindex_offset; }
1173 };
1174 
1175 
1176 // Interface to java.lang.invoke.MethodType objects
1177 
1178 class java_lang_invoke_MethodType: AllStatic {
1179   friend class JavaClasses;
1180 
1181  private:
1182   static int _rtype_offset;


< prev index next >