< prev index next >

src/hotspot/share/ci/ciKlass.hpp

Print this page

 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   virtual oop protection_domain()             { return nullptr; }
 69   virtual jobject protection_domain_handle()  { return nullptr; }
 70 
 71   const char* type_string() { return "ciKlass"; }
 72 
 73   void print_impl(outputStream* st);
 74 
 75 public:
 76   ciKlass(Klass* k);
 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() {

 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   virtual oop protection_domain()             { return nullptr; }
 69   virtual jobject protection_domain_handle()  { return nullptr; }
 70 
 71   const char* type_string() { return "ciKlass"; }
 72 
 73   void print_impl(outputStream* st);
 74 
 75 public:
 76   ciKlass(Klass* k);
 77 
 78   bool is_mirror_instance_klass() { return get_Klass()->is_mirror_instance_klass(); }
 79   bool is_reference_instance_klass() { return get_Klass()->is_reference_instance_klass(); }
 80 
 81   // What is the name of this klass?
 82   ciSymbol* name() const { return _name; }
 83 
 84   // What is its layout helper value?
 85   jint layout_helper() { return _layout_helper; }
 86 
 87   bool is_subtype_of(ciKlass* klass);
 88   bool is_subclass_of(ciKlass* klass);
 89   juint super_depth();
 90   juint super_check_offset();
 91   ciKlass* super_of_depth(juint i);
 92   static juint primary_super_limit() { return Klass::primary_super_limit(); }
 93 
 94   // Is this ciObject the ciInstanceKlass representing java.lang.Object()?
 95   virtual bool is_java_lang_Object() const  { return false; }
 96 
 97   // Get the shared parent of two klasses.
 98   ciKlass* least_common_ancestor(ciKlass* k);
 99 
100   virtual bool is_interface() {
< prev index next >