--- old/agent/src/share/classes/sun/jvm/hotspot/oops/Field.java Fri Sep 9 14:15:53 2011 +++ new/agent/src/share/classes/sun/jvm/hotspot/oops/Field.java Fri Sep 9 14:15:53 2011 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -48,6 +48,7 @@ short access = fields.getShortAt(fieldArrayIndex + InstanceKlass.ACCESS_FLAGS_OFFSET); short nameIndex = fields.getShortAt(fieldArrayIndex + InstanceKlass.NAME_INDEX_OFFSET); short signatureIndex = fields.getShortAt(fieldArrayIndex + InstanceKlass.SIGNATURE_INDEX_OFFSET); + initialValueIndex = fields.getShortAt(fieldArrayIndex + InstanceKlass.INITVAL_INDEX_OFFSET); offset = VM.getVM().buildIntFromShorts(fields.getShortAt(fieldArrayIndex + InstanceKlass.LOW_OFFSET), fields.getShortAt(fieldArrayIndex + InstanceKlass.HIGH_OFFSET)); short genericSignatureIndex = fields.getShortAt(fieldArrayIndex + InstanceKlass.GENERIC_SIGNATURE_INDEX_OFFSET); @@ -74,6 +75,7 @@ private Symbol genericSignature; private AccessFlags accessFlags; private int fieldArrayIndex; + private int initialValueIndex; /** Returns the byte offset of the field within the object or klass */ public long getOffset() { return offset; } @@ -133,6 +135,8 @@ public boolean isSynthetic() { return accessFlags.isSynthetic(); } public boolean isEnumConstant() { return accessFlags.isEnum(); } + public boolean hasInitialValue() { return initialValueIndex != 0; } + public boolean equals(Object obj) { if (obj == null) { return false;