18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 #include "precompiled.hpp" 26 #include "ci/ciKlass.hpp" 27 #include "ci/ciSymbol.hpp" 28 #include "ci/ciUtilities.hpp" 29 #include "oops/oop.inline.hpp" 30 31 // ciKlass 32 // 33 // This class represents a Klass* in the HotSpot virtual 34 // machine. 35 36 // ------------------------------------------------------------------ 37 // ciKlass::ciKlass 38 ciKlass::ciKlass(KlassHandle h_k) : ciType(h_k) { 39 assert(get_Klass()->is_klass(), "wrong type"); 40 Klass* k = get_Klass(); 41 _layout_helper = k->layout_helper(); 42 Symbol* klass_name = k->name(); 43 assert(klass_name != NULL, "wrong ciKlass constructor"); 44 _name = CURRENT_ENV->get_symbol(klass_name); 45 } 46 47 // ------------------------------------------------------------------ 48 // ciKlass::ciKlass 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 | 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 #include "precompiled.hpp" 26 #include "ci/ciKlass.hpp" 27 #include "ci/ciSymbol.hpp" 28 #include "ci/ciUtilities.hpp" 29 #include "oops/oop.inline.hpp" 30 31 // ciKlass 32 // 33 // This class represents a Klass* in the HotSpot virtual 34 // machine. 35 36 // ------------------------------------------------------------------ 37 // ciKlass::ciKlass 38 ciKlass::ciKlass(Klass* k) : ciType(k) { 39 assert(get_Klass()->is_klass(), "wrong type"); 40 Klass* klass = get_Klass(); 41 _layout_helper = klass->layout_helper(); 42 Symbol* klass_name = klass->name(); 43 assert(klass_name != NULL, "wrong ciKlass constructor"); 44 _name = CURRENT_ENV->get_symbol(klass_name); 45 } 46 47 // ------------------------------------------------------------------ 48 // ciKlass::ciKlass 49 // 50 // Nameless klass variant. 51 ciKlass::ciKlass(Klass* k, ciSymbol* name) : ciType(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 |