1090 enum { 1091 MN_IS_METHOD = 0x00010000, // method (not constructor) 1092 MN_IS_CONSTRUCTOR = 0x00020000, // constructor 1093 MN_IS_FIELD = 0x00040000, // field 1094 MN_IS_TYPE = 0x00080000, // nested type 1095 MN_CALLER_SENSITIVE = 0x00100000, // @CallerSensitive annotation detected 1096 MN_REFERENCE_KIND_SHIFT = 24, // refKind 1097 MN_REFERENCE_KIND_MASK = 0x0F000000 >> MN_REFERENCE_KIND_SHIFT, 1098 // The SEARCH_* bits are not for MN.flags but for the matchFlags argument of MHN.getMembers: 1099 MN_SEARCH_SUPERCLASSES = 0x00100000, // walk super classes 1100 MN_SEARCH_INTERFACES = 0x00200000 // walk implemented interfaces 1101 }; 1102 1103 // Accessors for code generation: 1104 static int clazz_offset_in_bytes() { return _clazz_offset; } 1105 static int type_offset_in_bytes() { return _type_offset; } 1106 static int name_offset_in_bytes() { return _name_offset; } 1107 static int flags_offset_in_bytes() { return _flags_offset; } 1108 static int vmtarget_offset_in_bytes() { return _vmtarget_offset; } 1109 static int vmindex_offset_in_bytes() { return _vmindex_offset; } 1110 1111 static bool equals(oop mt1, oop mt2); 1112 }; 1113 1114 1115 // Interface to java.lang.invoke.MethodType objects 1116 1117 class java_lang_invoke_MethodType: AllStatic { 1118 friend class JavaClasses; 1119 1120 private: 1121 static int _rtype_offset; 1122 static int _ptypes_offset; 1123 1124 static void compute_offsets(); 1125 1126 public: 1127 // Accessors 1128 static oop rtype(oop mt); 1129 static objArrayOop ptypes(oop mt); 1130 1131 static oop ptype(oop mt, int index); | 1090 enum { 1091 MN_IS_METHOD = 0x00010000, // method (not constructor) 1092 MN_IS_CONSTRUCTOR = 0x00020000, // constructor 1093 MN_IS_FIELD = 0x00040000, // field 1094 MN_IS_TYPE = 0x00080000, // nested type 1095 MN_CALLER_SENSITIVE = 0x00100000, // @CallerSensitive annotation detected 1096 MN_REFERENCE_KIND_SHIFT = 24, // refKind 1097 MN_REFERENCE_KIND_MASK = 0x0F000000 >> MN_REFERENCE_KIND_SHIFT, 1098 // The SEARCH_* bits are not for MN.flags but for the matchFlags argument of MHN.getMembers: 1099 MN_SEARCH_SUPERCLASSES = 0x00100000, // walk super classes 1100 MN_SEARCH_INTERFACES = 0x00200000 // walk implemented interfaces 1101 }; 1102 1103 // Accessors for code generation: 1104 static int clazz_offset_in_bytes() { return _clazz_offset; } 1105 static int type_offset_in_bytes() { return _type_offset; } 1106 static int name_offset_in_bytes() { return _name_offset; } 1107 static int flags_offset_in_bytes() { return _flags_offset; } 1108 static int vmtarget_offset_in_bytes() { return _vmtarget_offset; } 1109 static int vmindex_offset_in_bytes() { return _vmindex_offset; } 1110 }; 1111 1112 1113 // Interface to java.lang.invoke.MethodType objects 1114 1115 class java_lang_invoke_MethodType: AllStatic { 1116 friend class JavaClasses; 1117 1118 private: 1119 static int _rtype_offset; 1120 static int _ptypes_offset; 1121 1122 static void compute_offsets(); 1123 1124 public: 1125 // Accessors 1126 static oop rtype(oop mt); 1127 static objArrayOop ptypes(oop mt); 1128 1129 static oop ptype(oop mt, int index); |