src/share/vm/oops/klass.hpp

Print this page




 144 
 145 private:
 146   // This is an index into FileMapHeader::_classpath_entry_table[], to
 147   // associate this class with the JAR file where it's loaded from during
 148   // dump time. If a class is not loaded from the shared archive, this field is
 149   // -1.
 150   jshort _shared_class_path_index;
 151 
 152   friend class SharedClassUtil;
 153 protected:
 154 
 155   // Constructor
 156   Klass();
 157 
 158   void* operator new(size_t size, ClassLoaderData* loader_data, size_t word_size, TRAPS) throw();
 159 
 160  public:
 161   enum DefaultsLookupMode { find_defaults, skip_defaults };
 162   enum OverpassLookupMode { find_overpass, skip_overpass };
 163   enum StaticLookupMode   { find_static,   skip_static };

 164 
 165   bool is_klass() const volatile { return true; }
 166 
 167   // super
 168   Klass* super() const               { return _super; }
 169   void set_super(Klass* k)           { _super = k; }
 170 
 171   // initializes _super link, _primary_supers & _secondary_supers arrays
 172   void initialize_supers(Klass* k, TRAPS);
 173   void initialize_supers_impl1(Klass* k);
 174   void initialize_supers_impl2(Klass* k);
 175 
 176   // klass-specific helper for initializing _secondary_supers
 177   virtual GrowableArray<Klass*>* compute_secondary_supers(int num_extra_slots);
 178 
 179   // java_super is the Java-level super type as specified by Class.getSuperClass.
 180   virtual Klass* java_super() const  { return NULL; }
 181 
 182   juint    super_check_offset() const  { return _super_check_offset; }
 183   void set_super_check_offset(juint o) { _super_check_offset = o; }




 144 
 145 private:
 146   // This is an index into FileMapHeader::_classpath_entry_table[], to
 147   // associate this class with the JAR file where it's loaded from during
 148   // dump time. If a class is not loaded from the shared archive, this field is
 149   // -1.
 150   jshort _shared_class_path_index;
 151 
 152   friend class SharedClassUtil;
 153 protected:
 154 
 155   // Constructor
 156   Klass();
 157 
 158   void* operator new(size_t size, ClassLoaderData* loader_data, size_t word_size, TRAPS) throw();
 159 
 160  public:
 161   enum DefaultsLookupMode { find_defaults, skip_defaults };
 162   enum OverpassLookupMode { find_overpass, skip_overpass };
 163   enum StaticLookupMode   { find_static,   skip_static };
 164   enum PrivateLookupMode  { find_private,  skip_private };
 165 
 166   bool is_klass() const volatile { return true; }
 167 
 168   // super
 169   Klass* super() const               { return _super; }
 170   void set_super(Klass* k)           { _super = k; }
 171 
 172   // initializes _super link, _primary_supers & _secondary_supers arrays
 173   void initialize_supers(Klass* k, TRAPS);
 174   void initialize_supers_impl1(Klass* k);
 175   void initialize_supers_impl2(Klass* k);
 176 
 177   // klass-specific helper for initializing _secondary_supers
 178   virtual GrowableArray<Klass*>* compute_secondary_supers(int num_extra_slots);
 179 
 180   // java_super is the Java-level super type as specified by Class.getSuperClass.
 181   virtual Klass* java_super() const  { return NULL; }
 182 
 183   juint    super_check_offset() const  { return _super_check_offset; }
 184   void set_super_check_offset(juint o) { _super_check_offset = o; }