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