< prev index next >
src/hotspot/share/ci/ciInstanceKlass.hpp
Print this page
rev 53567 : [mq]: shjdk11-hasobjfields2.patch
@@ -64,21 +64,19 @@
ciInstance* _java_mirror;
ciConstantPoolCache* _field_cache; // cached map index->field
GrowableArray<ciField*>* _nonstatic_fields;
int _has_injected_fields; // any non static injected fields? lazily initialized.
- int _has_object_fields; // any object fields? lazily initialized.
// The possible values of the _implementor fall into following three cases:
// NULL: no implementor.
// A ciInstanceKlass that's not itself: one implementor.
// Itsef: more than one implementors.
ciInstanceKlass* _implementor;
void compute_injected_fields();
bool compute_injected_fields_helper();
- void compute_object_fields();
protected:
ciInstanceKlass(Klass* k);
ciInstanceKlass(ciSymbol* name, jobject loader, jobject protection_domain);
@@ -202,16 +200,11 @@
compute_injected_fields();
}
return _has_injected_fields > 0 ? true : false;
}
- bool has_object_fields() {
- if (_has_object_fields == -1) {
- compute_object_fields();
- }
- return _has_object_fields > 0 ? true : false;
- }
+ bool has_object_fields() const;
// nth nonstatic field (presented by ascending address)
ciField* nonstatic_field_at(int i) {
assert(_nonstatic_fields != NULL, "");
return _nonstatic_fields->at(i);
< prev index next >