Mercurial > hg > truffle
diff agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java @ 3944:35c656d0b685
7090654: nightly failures after 7086585
Reviewed-by: kvn
author | never |
---|---|
date | Wed, 14 Sep 2011 13:57:32 -0700 |
parents | f6f3bb0ee072 |
children | cb315dc80374 |
line wrap: on
line diff
--- a/agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java Wed Sep 14 16:28:39 2011 +0200 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java Wed Sep 14 13:57:32 2011 -0700 @@ -513,10 +513,9 @@ void iterateStaticFieldsInternal(OopVisitor visitor) { TypeArray fields = getFields(); int length = getJavaFieldsCount(); - for (int index = 0; index < length; index += FIELD_SLOTS) { - short accessFlags = fields.getShortAt(index + ACCESS_FLAGS_OFFSET); - short signatureIndex = fields.getShortAt(index + SIGNATURE_INDEX_OFFSET); - FieldType type = new FieldType(getConstants().getSymbolAt(signatureIndex)); + for (int index = 0; index < length; index++) { + short accessFlags = getFieldAccessFlags(index); + FieldType type = new FieldType(getFieldSignature(index)); AccessFlags access = new AccessFlags(accessFlags); if (access.isStatic()) { visitField(visitor, type, index); @@ -545,11 +544,9 @@ TypeArray fields = getFields(); int length = getJavaFieldsCount(); - for (int index = 0; index < length; index += FIELD_SLOTS) { - short accessFlags = fields.getShortAt(index + ACCESS_FLAGS_OFFSET); - short signatureIndex = fields.getShortAt(index + SIGNATURE_INDEX_OFFSET); - - FieldType type = new FieldType(getConstants().getSymbolAt(signatureIndex)); + for (int index = 0; index < length; index++) { + short accessFlags = getFieldAccessFlags(index); + FieldType type = new FieldType(getFieldSignature(index)); AccessFlags access = new AccessFlags(accessFlags); if (!access.isStatic()) { visitField(visitor, type, index); @@ -562,11 +559,9 @@ TypeArray fields = getFields(); int length = (int) fields.getLength(); ConstantPool cp = getConstants(); - for (int i = 0; i < length; i += FIELD_SLOTS) { - int nameIndex = fields.getShortAt(i + NAME_INDEX_OFFSET); - int sigIndex = fields.getShortAt(i + SIGNATURE_INDEX_OFFSET); - Symbol f_name = cp.getSymbolAt(nameIndex); - Symbol f_sig = cp.getSymbolAt(sigIndex); + for (int i = 0; i < length; i++) { + Symbol f_name = getFieldName(i); + Symbol f_sig = getFieldSignature(i); if (name.equals(f_name) && sig.equals(f_sig)) { return newField(i); } @@ -641,8 +636,8 @@ /** Get field by its index in the fields array. Only designed for use in a debugging system. */ - public Field getFieldByIndex(int fieldArrayIndex) { - return newField(fieldArrayIndex); + public Field getFieldByIndex(int fieldIndex) { + return newField(fieldIndex); } @@ -657,7 +652,7 @@ int length = getJavaFieldsCount(); List immediateFields = new ArrayList(length); - for (int index = 0; index < length; index += FIELD_SLOTS) { + for (int index = 0; index < length; index++) { immediateFields.add(getFieldByIndex(index)); } @@ -845,8 +840,7 @@ // Creates new field from index in fields TypeArray private Field newField(int index) { TypeArray fields = getFields(); - short signatureIndex = fields.getShortAt(index + SIGNATURE_INDEX_OFFSET); - FieldType type = new FieldType(getConstants().getSymbolAt(signatureIndex)); + FieldType type = new FieldType(getFieldSignature(index)); if (type.isOop()) { if (VM.getVM().isCompressedOopsEnabled()) { return new NarrowOopField(this, index);