src/share/vm/ci/ciInstanceKlass.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/ci

src/share/vm/ci/ciInstanceKlass.hpp

Print this page




  53   bool                   _has_subklass;
  54   bool                   _has_nonstatic_fields;
  55   bool                   _has_nonstatic_concrete_methods;
  56   bool                   _is_anonymous;
  57 
  58   ciFlags                _flags;
  59   jint                   _nonstatic_field_size;
  60   jint                   _nonstatic_oop_map_size;
  61 
  62   // Lazy fields get filled in only upon request.
  63   ciInstanceKlass*       _super;
  64   ciInstance*            _java_mirror;
  65 
  66   ciConstantPoolCache*   _field_cache;  // cached map index->field
  67   GrowableArray<ciField*>* _nonstatic_fields;
  68   int                    _has_injected_fields; // any non static injected fields? lazily initialized.
  69 
  70   // The possible values of the _implementor fall into following three cases:
  71   //   NULL: no implementor.
  72   //   A ciInstanceKlass that's not itself: one implementor.
  73   //   Itsef: more than one implementors.
  74   ciInstanceKlass*       _implementor;
  75 
  76   void compute_injected_fields();
  77   bool compute_injected_fields_helper();
  78 
  79 protected:
  80   ciInstanceKlass(KlassHandle h_k);
  81   ciInstanceKlass(ciSymbol* name, jobject loader, jobject protection_domain);
  82 
  83   InstanceKlass* get_instanceKlass() const {
  84     return InstanceKlass::cast(get_Klass());
  85   }
  86 
  87   oop loader();
  88   jobject loader_handle();
  89 
  90   oop protection_domain();
  91   jobject protection_domain_handle();
  92 
  93   const char* type_string() { return "ciInstanceKlass"; }




  53   bool                   _has_subklass;
  54   bool                   _has_nonstatic_fields;
  55   bool                   _has_nonstatic_concrete_methods;
  56   bool                   _is_anonymous;
  57 
  58   ciFlags                _flags;
  59   jint                   _nonstatic_field_size;
  60   jint                   _nonstatic_oop_map_size;
  61 
  62   // Lazy fields get filled in only upon request.
  63   ciInstanceKlass*       _super;
  64   ciInstance*            _java_mirror;
  65 
  66   ciConstantPoolCache*   _field_cache;  // cached map index->field
  67   GrowableArray<ciField*>* _nonstatic_fields;
  68   int                    _has_injected_fields; // any non static injected fields? lazily initialized.
  69 
  70   // The possible values of the _implementor fall into following three cases:
  71   //   NULL: no implementor.
  72   //   A ciInstanceKlass that's not itself: one implementor.
  73   //   Itself: more than one implementors.
  74   ciInstanceKlass*       _implementor;
  75 
  76   void compute_injected_fields();
  77   bool compute_injected_fields_helper();
  78 
  79 protected:
  80   ciInstanceKlass(KlassHandle h_k);
  81   ciInstanceKlass(ciSymbol* name, jobject loader, jobject protection_domain);
  82 
  83   InstanceKlass* get_instanceKlass() const {
  84     return InstanceKlass::cast(get_Klass());
  85   }
  86 
  87   oop loader();
  88   jobject loader_handle();
  89 
  90   oop protection_domain();
  91   jobject protection_domain_handle();
  92 
  93   const char* type_string() { return "ciInstanceKlass"; }


src/share/vm/ci/ciInstanceKlass.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File