src/share/vm/classfile/javaClasses.hpp

Print this page




1019   static int _vmindex_offset;
1020 
1021   static void compute_offsets();
1022 
1023  public:
1024   // Accessors
1025   static oop            clazz(oop mname);
1026   static void       set_clazz(oop mname, oop clazz);
1027 
1028   static oop            type(oop mname);
1029   static void       set_type(oop mname, oop type);
1030 
1031   static oop            name(oop mname);
1032   static void       set_name(oop mname, oop name);
1033 
1034   static int            flags(oop mname);
1035   static void       set_flags(oop mname, int flags);
1036 
1037   static Metadata*      vmtarget(oop mname);
1038   static void       set_vmtarget(oop mname, Metadata* target);



1039 
1040   static intptr_t       vmindex(oop mname);
1041   static void       set_vmindex(oop mname, intptr_t index);
1042 
1043   // Testers
1044   static bool is_subclass(Klass* klass) {
1045     return klass->is_subclass_of(SystemDictionary::MemberName_klass());
1046   }
1047   static bool is_instance(oop obj) {
1048     return obj != NULL && is_subclass(obj->klass());
1049   }
1050 
1051   // Relevant integer codes (keep these in synch. with MethodHandleNatives.Constants):
1052   enum {
1053     MN_IS_METHOD           = 0x00010000, // method (not constructor)
1054     MN_IS_CONSTRUCTOR      = 0x00020000, // constructor
1055     MN_IS_FIELD            = 0x00040000, // field
1056     MN_IS_TYPE             = 0x00080000, // nested type
1057     MN_REFERENCE_KIND_SHIFT = 24, // refKind
1058     MN_REFERENCE_KIND_MASK = 0x0F000000 >> MN_REFERENCE_KIND_SHIFT,




1019   static int _vmindex_offset;
1020 
1021   static void compute_offsets();
1022 
1023  public:
1024   // Accessors
1025   static oop            clazz(oop mname);
1026   static void       set_clazz(oop mname, oop clazz);
1027 
1028   static oop            type(oop mname);
1029   static void       set_type(oop mname, oop type);
1030 
1031   static oop            name(oop mname);
1032   static void       set_name(oop mname, oop name);
1033 
1034   static int            flags(oop mname);
1035   static void       set_flags(oop mname, int flags);
1036 
1037   static Metadata*      vmtarget(oop mname);
1038   static void       set_vmtarget(oop mname, Metadata* target);
1039 #if INCLUDE_JVMTI
1040   static void       adjust_vmtarget(oop mname, Metadata* target);
1041 #endif // INCLUDE_JVMTI
1042 
1043   static intptr_t       vmindex(oop mname);
1044   static void       set_vmindex(oop mname, intptr_t index);
1045 
1046   // Testers
1047   static bool is_subclass(Klass* klass) {
1048     return klass->is_subclass_of(SystemDictionary::MemberName_klass());
1049   }
1050   static bool is_instance(oop obj) {
1051     return obj != NULL && is_subclass(obj->klass());
1052   }
1053 
1054   // Relevant integer codes (keep these in synch. with MethodHandleNatives.Constants):
1055   enum {
1056     MN_IS_METHOD           = 0x00010000, // method (not constructor)
1057     MN_IS_CONSTRUCTOR      = 0x00020000, // constructor
1058     MN_IS_FIELD            = 0x00040000, // field
1059     MN_IS_TYPE             = 0x00080000, // nested type
1060     MN_REFERENCE_KIND_SHIFT = 24, // refKind
1061     MN_REFERENCE_KIND_MASK = 0x0F000000 >> MN_REFERENCE_KIND_SHIFT,