64 } |
64 } |
65 |
65 |
66 // ------------------------------------------------------------------ |
66 // ------------------------------------------------------------------ |
67 // ciKlass::is_subtype_of |
67 // ciKlass::is_subtype_of |
68 bool ciKlass::is_subtype_of(ciKlass* that) { |
68 bool ciKlass::is_subtype_of(ciKlass* that) { |
69 assert(is_loaded() && that->is_loaded(), "must be loaded"); |
69 assert(this->is_loaded(), err_msg("must be loaded: %s", this->name()->as_quoted_ascii())); |
|
70 assert(that->is_loaded(), err_msg("must be loaded: %s", that->name()->as_quoted_ascii())); |
|
71 |
70 // Check to see if the klasses are identical. |
72 // Check to see if the klasses are identical. |
71 if (this == that) { |
73 if (this == that) { |
72 return true; |
74 return true; |
73 } |
75 } |
74 |
76 |
81 } |
83 } |
82 |
84 |
83 // ------------------------------------------------------------------ |
85 // ------------------------------------------------------------------ |
84 // ciKlass::is_subclass_of |
86 // ciKlass::is_subclass_of |
85 bool ciKlass::is_subclass_of(ciKlass* that) { |
87 bool ciKlass::is_subclass_of(ciKlass* that) { |
86 assert(is_loaded() && that->is_loaded(), "must be loaded"); |
88 assert(this->is_loaded(), err_msg("must be loaded: %s", this->name()->as_quoted_ascii())); |
87 // Check to see if the klasses are identical. |
89 assert(that->is_loaded(), err_msg("must be loaded: %s", that->name()->as_quoted_ascii())); |
88 |
90 |
89 VM_ENTRY_MARK; |
91 VM_ENTRY_MARK; |
90 Klass* this_klass = get_Klass(); |
92 Klass* this_klass = get_Klass(); |
91 Klass* that_klass = that->get_Klass(); |
93 Klass* that_klass = that->get_Klass(); |
92 bool result = this_klass->is_subclass_of(that_klass); |
94 bool result = this_klass->is_subclass_of(that_klass); |