src/share/vm/classfile/javaClasses.hpp

Print this page




1075   static int _vmindex_offset;
1076 
1077   static void compute_offsets();
1078 
1079  public:
1080   // Accessors
1081   static oop            clazz(oop mname);
1082   static void       set_clazz(oop mname, oop clazz);
1083 
1084   static oop            type(oop mname);
1085   static void       set_type(oop mname, oop type);
1086 
1087   static oop            name(oop mname);
1088   static void       set_name(oop mname, oop name);
1089 
1090   static int            flags(oop mname);
1091   static void       set_flags(oop mname, int flags);
1092 
1093   static Metadata*      vmtarget(oop mname);
1094   static void       set_vmtarget(oop mname, Metadata* target);
1095 #if INCLUDE_JVMTI
1096   static void       adjust_vmtarget(oop mname, Method* old_method, Method* new_method,
1097                                     bool* trace_name_printed);
1098 #endif // INCLUDE_JVMTI
1099 
1100   static intptr_t       vmindex(oop mname);
1101   static void       set_vmindex(oop mname, intptr_t index);
1102 
1103   // Testers
1104   static bool is_subclass(Klass* klass) {
1105     return klass->is_subclass_of(SystemDictionary::MemberName_klass());
1106   }
1107   static bool is_instance(oop obj);
1108 
1109   static bool is_method(oop obj);
1110 
1111   // Relevant integer codes (keep these in synch. with MethodHandleNatives.Constants):
1112   enum {
1113     MN_IS_METHOD            = 0x00010000, // method (not constructor)
1114     MN_IS_CONSTRUCTOR       = 0x00020000, // constructor
1115     MN_IS_FIELD             = 0x00040000, // field
1116     MN_IS_TYPE              = 0x00080000, // nested type
1117     MN_CALLER_SENSITIVE     = 0x00100000, // @CallerSensitive annotation detected
1118     MN_REFERENCE_KIND_SHIFT = 24, // refKind




1075   static int _vmindex_offset;
1076 
1077   static void compute_offsets();
1078 
1079  public:
1080   // Accessors
1081   static oop            clazz(oop mname);
1082   static void       set_clazz(oop mname, oop clazz);
1083 
1084   static oop            type(oop mname);
1085   static void       set_type(oop mname, oop type);
1086 
1087   static oop            name(oop mname);
1088   static void       set_name(oop mname, oop name);
1089 
1090   static int            flags(oop mname);
1091   static void       set_flags(oop mname, int flags);
1092 
1093   static Metadata*      vmtarget(oop mname);
1094   static void       set_vmtarget(oop mname, Metadata* target);




1095 
1096   static intptr_t       vmindex(oop mname);
1097   static void       set_vmindex(oop mname, intptr_t index);
1098 
1099   // Testers
1100   static bool is_subclass(Klass* klass) {
1101     return klass->is_subclass_of(SystemDictionary::MemberName_klass());
1102   }
1103   static bool is_instance(oop obj);
1104 
1105   static bool is_method(oop obj);
1106 
1107   // Relevant integer codes (keep these in synch. with MethodHandleNatives.Constants):
1108   enum {
1109     MN_IS_METHOD            = 0x00010000, // method (not constructor)
1110     MN_IS_CONSTRUCTOR       = 0x00020000, // constructor
1111     MN_IS_FIELD             = 0x00040000, // field
1112     MN_IS_TYPE              = 0x00080000, // nested type
1113     MN_CALLER_SENSITIVE     = 0x00100000, // @CallerSensitive annotation detected
1114     MN_REFERENCE_KIND_SHIFT = 24, // refKind