185
186 ciInstanceKlass* get_canonical_holder(int offset);
187 ciField* get_field_by_offset(int field_offset, bool is_static);
188 ciField* get_field_by_name(ciSymbol* name, ciSymbol* signature, bool is_static);
189
190 // total number of nonstatic fields (including inherited):
191 int nof_nonstatic_fields() {
192 if (_nonstatic_fields == NULL)
193 return compute_nonstatic_fields();
194 else
195 return _nonstatic_fields->length();
196 }
197
198 bool has_injected_fields() {
199 if (_has_injected_fields == -1) {
200 compute_injected_fields();
201 }
202 return _has_injected_fields > 0 ? true : false;
203 }
204
205 // nth nonstatic field (presented by ascending address)
206 ciField* nonstatic_field_at(int i) {
207 assert(_nonstatic_fields != NULL, "");
208 return _nonstatic_fields->at(i);
209 }
210
211 ciInstanceKlass* unique_concrete_subklass();
212 bool has_finalizable_subclass();
213
214 bool contains_field_offset(int offset) {
215 return instanceOopDesc::contains_field_offset(offset, nonstatic_field_size());
216 }
217
218 // Get the instance of java.lang.Class corresponding to
219 // this klass. This instance is used for locking of
220 // synchronized static methods of this klass.
221 ciInstance* java_mirror();
222
223 // Java access flags
224 bool is_public () { return flags().is_public(); }
|
185
186 ciInstanceKlass* get_canonical_holder(int offset);
187 ciField* get_field_by_offset(int field_offset, bool is_static);
188 ciField* get_field_by_name(ciSymbol* name, ciSymbol* signature, bool is_static);
189
190 // total number of nonstatic fields (including inherited):
191 int nof_nonstatic_fields() {
192 if (_nonstatic_fields == NULL)
193 return compute_nonstatic_fields();
194 else
195 return _nonstatic_fields->length();
196 }
197
198 bool has_injected_fields() {
199 if (_has_injected_fields == -1) {
200 compute_injected_fields();
201 }
202 return _has_injected_fields > 0 ? true : false;
203 }
204
205 bool has_object_fields() const;
206
207 // nth nonstatic field (presented by ascending address)
208 ciField* nonstatic_field_at(int i) {
209 assert(_nonstatic_fields != NULL, "");
210 return _nonstatic_fields->at(i);
211 }
212
213 ciInstanceKlass* unique_concrete_subklass();
214 bool has_finalizable_subclass();
215
216 bool contains_field_offset(int offset) {
217 return instanceOopDesc::contains_field_offset(offset, nonstatic_field_size());
218 }
219
220 // Get the instance of java.lang.Class corresponding to
221 // this klass. This instance is used for locking of
222 // synchronized static methods of this klass.
223 ciInstance* java_mirror();
224
225 // Java access flags
226 bool is_public () { return flags().is_public(); }
|