< prev index next >

src/hotspot/share/ci/ciKlass.hpp

Print this page

 55   ciKlass(Klass* k, ciSymbol* name);
 56   ciKlass(ciSymbol* name, BasicType bt);
 57 
 58   Klass* get_Klass() const {
 59     Klass* k = (Klass*)_metadata;
 60     assert(k != nullptr, "illegal use of unloaded klass");
 61     return k;
 62   }
 63 
 64   // Certain subklasses have an associated class loader.
 65   virtual oop loader()             { return nullptr; }
 66   virtual jobject loader_handle()  { return nullptr; }
 67 
 68   const char* type_string() { return "ciKlass"; }
 69 
 70   void print_impl(outputStream* st);
 71 
 72 public:
 73   ciKlass(Klass* k);
 74 



 75   // What is the name of this klass?
 76   ciSymbol* name() const { return _name; }
 77 
 78   // What is its layout helper value?
 79   jint layout_helper() { return _layout_helper; }
 80 
 81   bool is_subtype_of(ciKlass* klass);
 82   bool is_subclass_of(ciKlass* klass);
 83   juint super_depth();
 84   juint super_check_offset();
 85   ciKlass* super_of_depth(juint i);
 86   static juint primary_super_limit() { return Klass::primary_super_limit(); }
 87 
 88   // Is this ciObject the ciInstanceKlass representing java.lang.Object()?
 89   virtual bool is_java_lang_Object() const  { return false; }
 90 
 91   // Get the shared parent of two klasses.
 92   ciKlass* least_common_ancestor(ciKlass* k);
 93 
 94   virtual bool is_interface() {

 55   ciKlass(Klass* k, ciSymbol* name);
 56   ciKlass(ciSymbol* name, BasicType bt);
 57 
 58   Klass* get_Klass() const {
 59     Klass* k = (Klass*)_metadata;
 60     assert(k != nullptr, "illegal use of unloaded klass");
 61     return k;
 62   }
 63 
 64   // Certain subklasses have an associated class loader.
 65   virtual oop loader()             { return nullptr; }
 66   virtual jobject loader_handle()  { return nullptr; }
 67 
 68   const char* type_string() { return "ciKlass"; }
 69 
 70   void print_impl(outputStream* st);
 71 
 72 public:
 73   ciKlass(Klass* k);
 74 
 75   bool is_mirror_instance_klass() { return get_Klass()->is_mirror_instance_klass(); }
 76   bool is_reference_instance_klass() { return get_Klass()->is_reference_instance_klass(); }
 77 
 78   // What is the name of this klass?
 79   ciSymbol* name() const { return _name; }
 80 
 81   // What is its layout helper value?
 82   jint layout_helper() { return _layout_helper; }
 83 
 84   bool is_subtype_of(ciKlass* klass);
 85   bool is_subclass_of(ciKlass* klass);
 86   juint super_depth();
 87   juint super_check_offset();
 88   ciKlass* super_of_depth(juint i);
 89   static juint primary_super_limit() { return Klass::primary_super_limit(); }
 90 
 91   // Is this ciObject the ciInstanceKlass representing java.lang.Object()?
 92   virtual bool is_java_lang_Object() const  { return false; }
 93 
 94   // Get the shared parent of two klasses.
 95   ciKlass* least_common_ancestor(ciKlass* k);
 96 
 97   virtual bool is_interface() {
< prev index next >