57 bool is_subtype_of(ciType* type);
58
59 // Get the instance of java.lang.Class corresponding to this type.
60 // There are mirrors for instance, array, and primitive types (incl. void).
61 virtual ciInstance* java_mirror();
62
63 // Get the class which "boxes" (or "wraps") values of this type.
64 // Example: short is boxed by java.lang.Short, etc.
65 // Returns self if it is a reference type.
66 // Returns NULL for void, since null is used in such cases.
67 ciKlass* box_klass();
68
69 // Returns true if this is not a klass or array (i.e., not a reference type).
70 bool is_primitive_type() const { return basic_type() != T_OBJECT && basic_type() != T_ARRAY; }
71 int size() const { return type2size[basic_type()]; }
72 bool is_void() const { return basic_type() == T_VOID; }
73 bool is_one_word() const { return size() == 1; }
74 bool is_two_word() const { return size() == 2; }
75
76 bool is_vectormask();
77 bool is_vectorapi_vector();
78 int vectorapi_vector_size();
79 BasicType vectorapi_vector_bt();
80
81 // What kind of ciObject is this?
82 bool is_type() const { return true; }
83 bool is_classless() const { return is_primitive_type(); }
84
85 const char* name();
86 virtual void print_name_on(outputStream* st);
87 void print_name() {
88 print_name_on(tty);
89 }
90
91 static ciType* make(BasicType t);
92 };
93
94
95 // ciReturnAddress
96 //
|
57 bool is_subtype_of(ciType* type);
58
59 // Get the instance of java.lang.Class corresponding to this type.
60 // There are mirrors for instance, array, and primitive types (incl. void).
61 virtual ciInstance* java_mirror();
62
63 // Get the class which "boxes" (or "wraps") values of this type.
64 // Example: short is boxed by java.lang.Short, etc.
65 // Returns self if it is a reference type.
66 // Returns NULL for void, since null is used in such cases.
67 ciKlass* box_klass();
68
69 // Returns true if this is not a klass or array (i.e., not a reference type).
70 bool is_primitive_type() const { return basic_type() != T_OBJECT && basic_type() != T_ARRAY; }
71 int size() const { return type2size[basic_type()]; }
72 bool is_void() const { return basic_type() == T_VOID; }
73 bool is_one_word() const { return size() == 1; }
74 bool is_two_word() const { return size() == 2; }
75
76 bool is_vectormask();
77 bool is_vectorshuffle();
78 bool is_vectorapi_vector();
79 int vectorapi_vector_size();
80 BasicType vectorapi_vector_bt();
81
82 // What kind of ciObject is this?
83 bool is_type() const { return true; }
84 bool is_classless() const { return is_primitive_type(); }
85
86 const char* name();
87 virtual void print_name_on(outputStream* st);
88 void print_name() {
89 print_name_on(tty);
90 }
91
92 static ciType* make(BasicType t);
93 };
94
95
96 // ciReturnAddress
97 //
|