hotspot/src/share/vm/ci/ciInstanceKlass.hpp
changeset 4567 7fc02fbe5c7a
parent 4450 6d700b859b3e
child 5547 f4b087cbb361
equal deleted inserted replaced
4566:b363f6ef4068 4567:7fc02fbe5c7a
    27 // This class represents a klassOop in the HotSpot virtual machine
    27 // This class represents a klassOop in the HotSpot virtual machine
    28 // whose Klass part is an instanceKlass.  It may or may not
    28 // whose Klass part is an instanceKlass.  It may or may not
    29 // be loaded.
    29 // be loaded.
    30 class ciInstanceKlass : public ciKlass {
    30 class ciInstanceKlass : public ciKlass {
    31   CI_PACKAGE_ACCESS
    31   CI_PACKAGE_ACCESS
       
    32   friend class ciBytecodeStream;
    32   friend class ciEnv;
    33   friend class ciEnv;
       
    34   friend class ciExceptionHandler;
    33   friend class ciMethod;
    35   friend class ciMethod;
    34   friend class ciField;
    36   friend class ciField;
    35   friend class ciBytecodeStream;
       
    36 
    37 
    37 private:
    38 private:
    38   jobject                _loader;
    39   jobject                _loader;
    39   jobject                _protection_domain;
    40   jobject                _protection_domain;
    40 
    41 
    75 
    76 
    76   oop protection_domain();
    77   oop protection_domain();
    77   jobject protection_domain_handle();
    78   jobject protection_domain_handle();
    78 
    79 
    79   const char* type_string() { return "ciInstanceKlass"; }
    80   const char* type_string() { return "ciInstanceKlass"; }
       
    81 
       
    82   bool is_in_package_impl(const char* packagename, int len);
    80 
    83 
    81   void print_impl(outputStream* st);
    84   void print_impl(outputStream* st);
    82 
    85 
    83   ciConstantPoolCache* field_cache();
    86   ciConstantPoolCache* field_cache();
    84 
    87 
   194   // Is the defining class loader of this class the default loader?
   197   // Is the defining class loader of this class the default loader?
   195   bool uses_default_loader();
   198   bool uses_default_loader();
   196 
   199 
   197   bool is_java_lang_Object();
   200   bool is_java_lang_Object();
   198 
   201 
       
   202   // Is this klass in the given package?
       
   203   bool is_in_package(const char* packagename) {
       
   204     return is_in_package(packagename, (int) strlen(packagename));
       
   205   }
       
   206   bool is_in_package(const char* packagename, int len);
       
   207 
   199   // What kind of ciObject is this?
   208   // What kind of ciObject is this?
   200   bool is_instance_klass() { return true; }
   209   bool is_instance_klass() { return true; }
   201   bool is_java_klass()     { return true; }
   210   bool is_java_klass()     { return true; }
   202 };
   211 };