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; }
|