1010
1011 // Interface to java.dyn.MethodType objects
1012
1013 class java_dyn_MethodType: AllStatic {
1014 friend class JavaClasses;
1015
1016 private:
1017 static int _rtype_offset;
1018 static int _ptypes_offset;
1019 static int _form_offset;
1020
1021 static void compute_offsets();
1022
1023 public:
1024 // Accessors
1025 static oop rtype(oop mt);
1026 static objArrayOop ptypes(oop mt);
1027 static oop form(oop mt);
1028
1029 static oop ptype(oop mt, int index);
1030
1031 static symbolOop as_signature(oop mt, bool intern_if_not_found, TRAPS);
1032 static void print_signature(oop mt, outputStream* st);
1033
1034 static bool is_instance(oop obj) {
1035 return obj != NULL && obj->klass() == SystemDictionary::MethodType_klass();
1036 }
1037
1038 // Accessors for code generation:
1039 static int rtype_offset_in_bytes() { return _rtype_offset; }
1040 static int ptypes_offset_in_bytes() { return _ptypes_offset; }
1041 static int form_offset_in_bytes() { return _form_offset; }
1042 };
1043
1044 class java_dyn_MethodTypeForm: AllStatic {
1045 friend class JavaClasses;
1046
1047 private:
1048 static int _vmslots_offset; // number of argument slots needed
1049 static int _erasedType_offset; // erasedType = canonical MethodType
|
1010
1011 // Interface to java.dyn.MethodType objects
1012
1013 class java_dyn_MethodType: AllStatic {
1014 friend class JavaClasses;
1015
1016 private:
1017 static int _rtype_offset;
1018 static int _ptypes_offset;
1019 static int _form_offset;
1020
1021 static void compute_offsets();
1022
1023 public:
1024 // Accessors
1025 static oop rtype(oop mt);
1026 static objArrayOop ptypes(oop mt);
1027 static oop form(oop mt);
1028
1029 static oop ptype(oop mt, int index);
1030 static int ptype_count(oop mt);
1031
1032 static symbolOop as_signature(oop mt, bool intern_if_not_found, TRAPS);
1033 static void print_signature(oop mt, outputStream* st);
1034
1035 static bool is_instance(oop obj) {
1036 return obj != NULL && obj->klass() == SystemDictionary::MethodType_klass();
1037 }
1038
1039 // Accessors for code generation:
1040 static int rtype_offset_in_bytes() { return _rtype_offset; }
1041 static int ptypes_offset_in_bytes() { return _ptypes_offset; }
1042 static int form_offset_in_bytes() { return _form_offset; }
1043 };
1044
1045 class java_dyn_MethodTypeForm: AllStatic {
1046 friend class JavaClasses;
1047
1048 private:
1049 static int _vmslots_offset; // number of argument slots needed
1050 static int _erasedType_offset; // erasedType = canonical MethodType
|