--- old/src/share/vm/ci/ciInstanceKlass.cpp 2014-09-15 12:52:24.740349232 +0200 +++ new/src/share/vm/ci/ciInstanceKlass.cpp 2014-09-15 12:52:24.632349236 +0200 @@ -44,7 +44,7 @@ // // Loaded instance klass. ciInstanceKlass::ciInstanceKlass(KlassHandle h_k) : - ciKlass(h_k), _non_static_fields(NULL) + ciKlass(h_k) { assert(get_Klass()->oop_is_instance(), "wrong type"); assert(get_instanceKlass()->is_loaded(), "must be at least loaded"); @@ -407,37 +407,6 @@ return field; } -// ------------------------------------------------------------------ -// ciInstanceKlass::non_static_fields. - -class NonStaticFieldFiller: public FieldClosure { - GrowableArray* _arr; - ciEnv* _curEnv; -public: - NonStaticFieldFiller(ciEnv* curEnv, GrowableArray* arr) : - _curEnv(curEnv), _arr(arr) - {} - void do_field(fieldDescriptor* fd) { - ciField* field = new (_curEnv->arena()) ciField(fd); - _arr->append(field); - } -}; - -GrowableArray* ciInstanceKlass::non_static_fields() { - if (_non_static_fields == NULL) { - VM_ENTRY_MARK; - ciEnv* curEnv = ciEnv::current(); - InstanceKlass* ik = get_instanceKlass(); - int max_n_fields = ik->java_fields_count(); - - Arena* arena = curEnv->arena(); - _non_static_fields = - new (arena) GrowableArray(arena, max_n_fields, 0, NULL); - NonStaticFieldFiller filler(curEnv, _non_static_fields); - ik->do_nonstatic_fields(&filler); - } - return _non_static_fields; -} static int sort_field_by_offset(ciField** a, ciField** b) { return (*a)->offset_in_bytes() - (*b)->offset_in_bytes();