< prev index next >

src/share/vm/ci/ciKlass.cpp

Print this page




  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 


< prev index next >