49 //
50 // Nameless klass variant.
51 ciKlass::ciKlass(KlassHandle h_k, ciSymbol* name) : ciType(h_k) {
52 assert(get_Klass()->is_klass(), "wrong type");
53 _name = name;
54 _layout_helper = Klass::_lh_neutral_value;
55 }
56
57 // ------------------------------------------------------------------
58 // ciKlass::ciKlass
59 //
60 // Unloaded klass variant.
61 ciKlass::ciKlass(ciSymbol* name, BasicType bt) : ciType(bt) {
62 _name = name;
63 _layout_helper = Klass::_lh_neutral_value;
64 }
65
66 // ------------------------------------------------------------------
67 // ciKlass::is_subtype_of
68 bool ciKlass::is_subtype_of(ciKlass* that) {
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
72 // Check to see if the klasses are identical.
73 if (this == that) {
74 return true;
75 }
76
77 VM_ENTRY_MARK;
78 Klass* this_klass = get_Klass();
79 Klass* that_klass = that->get_Klass();
80 bool result = this_klass->is_subtype_of(that_klass);
81
82 return result;
83 }
84
85 // ------------------------------------------------------------------
86 // ciKlass::is_subclass_of
87 bool ciKlass::is_subclass_of(ciKlass* that) {
88 assert(this->is_loaded(), err_msg("must be loaded: %s", this->name()->as_quoted_ascii()));
89 assert(that->is_loaded(), err_msg("must be loaded: %s", that->name()->as_quoted_ascii()));
90
91 VM_ENTRY_MARK;
92 Klass* this_klass = get_Klass();
93 Klass* that_klass = that->get_Klass();
94 bool result = this_klass->is_subclass_of(that_klass);
95
96 return result;
97 }
98
99 // ------------------------------------------------------------------
100 // ciKlass::super_depth
101 juint ciKlass::super_depth() {
102 assert(is_loaded(), "must be loaded");
103
104 VM_ENTRY_MARK;
105 Klass* this_klass = get_Klass();
106 return this_klass->super_depth();
107 }
108
109 // ------------------------------------------------------------------
|
49 //
50 // Nameless klass variant.
51 ciKlass::ciKlass(KlassHandle h_k, ciSymbol* name) : ciType(h_k) {
52 assert(get_Klass()->is_klass(), "wrong type");
53 _name = name;
54 _layout_helper = Klass::_lh_neutral_value;
55 }
56
57 // ------------------------------------------------------------------
58 // ciKlass::ciKlass
59 //
60 // Unloaded klass variant.
61 ciKlass::ciKlass(ciSymbol* name, BasicType bt) : ciType(bt) {
62 _name = name;
63 _layout_helper = Klass::_lh_neutral_value;
64 }
65
66 // ------------------------------------------------------------------
67 // ciKlass::is_subtype_of
68 bool ciKlass::is_subtype_of(ciKlass* that) {
69 assert(this->is_loaded(), "must be loaded: %s", this->name()->as_quoted_ascii());
70 assert(that->is_loaded(), "must be loaded: %s", that->name()->as_quoted_ascii());
71
72 // Check to see if the klasses are identical.
73 if (this == that) {
74 return true;
75 }
76
77 VM_ENTRY_MARK;
78 Klass* this_klass = get_Klass();
79 Klass* that_klass = that->get_Klass();
80 bool result = this_klass->is_subtype_of(that_klass);
81
82 return result;
83 }
84
85 // ------------------------------------------------------------------
86 // ciKlass::is_subclass_of
87 bool ciKlass::is_subclass_of(ciKlass* that) {
88 assert(this->is_loaded(), "must be loaded: %s", this->name()->as_quoted_ascii());
89 assert(that->is_loaded(), "must be loaded: %s", that->name()->as_quoted_ascii());
90
91 VM_ENTRY_MARK;
92 Klass* this_klass = get_Klass();
93 Klass* that_klass = that->get_Klass();
94 bool result = this_klass->is_subclass_of(that_klass);
95
96 return result;
97 }
98
99 // ------------------------------------------------------------------
100 // ciKlass::super_depth
101 juint ciKlass::super_depth() {
102 assert(is_loaded(), "must be loaded");
103
104 VM_ENTRY_MARK;
105 Klass* this_klass = get_Klass();
106 return this_klass->super_depth();
107 }
108
109 // ------------------------------------------------------------------
|