--- a/hotspot/src/share/vm/ci/ciInstanceKlass.hpp Tue Mar 11 11:04:40 2008 -0700
+++ b/hotspot/src/share/vm/ci/ciInstanceKlass.hpp Tue Mar 11 11:25:13 2008 -0700
@@ -46,6 +46,7 @@
bool _has_subklass;
ciFlags _flags;
jint _nonstatic_field_size;
+ jint _nonstatic_oop_map_size;
// Lazy fields get filled in only upon request.
ciInstanceKlass* _super;
@@ -58,6 +59,8 @@
ciInstanceKlass* _implementors[implementors_limit];
jint _nof_implementors;
+ GrowableArray<ciField*>* _non_static_fields;
+
protected:
ciInstanceKlass(KlassHandle h_k);
ciInstanceKlass(ciSymbol* name, jobject loader, jobject protection_domain);
@@ -129,6 +132,9 @@
jint nonstatic_field_size() {
assert(is_loaded(), "must be loaded");
return _nonstatic_field_size; }
+ jint nonstatic_oop_map_size() {
+ assert(is_loaded(), "must be loaded");
+ return _nonstatic_oop_map_size; }
ciInstanceKlass* super();
jint nof_implementors() {
assert(is_loaded(), "must be loaded");
@@ -138,6 +144,9 @@
ciInstanceKlass* get_canonical_holder(int offset);
ciField* get_field_by_offset(int field_offset, bool is_static);
+
+ GrowableArray<ciField*>* non_static_fields();
+
// total number of nonstatic fields (including inherited):
int nof_nonstatic_fields() {
if (_nonstatic_fields == NULL)