< prev index next >
src/hotspot/share/ci/ciMetadata.hpp
Print this page
@@ -55,13 +55,16 @@
virtual bool is_return_address() const { return false; }
virtual bool is_method() const { return false; }
virtual bool is_method_data() const { return false; }
virtual bool is_klass() const { return false; }
virtual bool is_instance_klass() const { return false; }
+ virtual bool is_valuetype() const { return false; }
virtual bool is_array_klass() const { return false; }
+ virtual bool is_value_array_klass() const { return false; }
virtual bool is_obj_array_klass() const { return false; }
virtual bool is_type_array_klass() const { return false; }
+ virtual bool is_wrapper() const { return false; }
virtual void dump_replay_data(outputStream* st) { /* do nothing */ }
ciMethod* as_method() {
assert(is_method(), "bad cast");
return (ciMethod*)this;
@@ -92,22 +95,34 @@
}
ciArrayKlass* as_array_klass() {
assert(is_array_klass(), "bad cast");
return (ciArrayKlass*)this;
}
+ ciValueArrayKlass* as_value_array_klass() {
+ assert(is_value_array_klass(), "bad cast");
+ return (ciValueArrayKlass*)this;
+ }
ciObjArrayKlass* as_obj_array_klass() {
assert(is_obj_array_klass(), "bad cast");
return (ciObjArrayKlass*)this;
}
ciTypeArrayKlass* as_type_array_klass() {
assert(is_type_array_klass(), "bad cast");
return (ciTypeArrayKlass*)this;
}
+ ciValueKlass* as_value_klass() {
+ assert(is_valuetype(), "bad cast");
+ return (ciValueKlass*)this;
+ }
+ ciWrapper* as_wrapper() {
+ assert(is_wrapper(), "bad cast");
+ return (ciWrapper*)this;
+ }
Metadata* constant_encoding() { return _metadata; }
- bool equals(ciMetadata* obj) const { return (this == obj); }
+ virtual bool equals(ciMetadata* obj) const { return (this == obj); }
int hash() { return ident() * 31; } // ???
void print(outputStream* st);
virtual void print_impl(outputStream* st) {}
< prev index next >