Mercurial > hg > truffle
changeset 689:f30ba3b36599
6822407: heapOopSize lookup is incorrect in Serviceability Agent.
Summary: heapOopSize symbol should be declared as constant in vmStructs and should not be looked up in readVMIntConstants().
Reviewed-by: never, swamyv, coleenp
author | poonam |
---|---|
date | Fri, 27 Mar 2009 10:29:54 -0700 |
parents | 520d43965b1f |
children | d142f1feeed5 |
files | agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java src/share/vm/runtime/vmStructs.cpp |
diffstat | 3 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java Fri Mar 27 01:35:39 2009 -0500 +++ b/agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java Fri Mar 27 10:29:54 2009 -0700 @@ -306,8 +306,6 @@ entryAddr = entryAddr.addOffsetTo(intConstantEntryArrayStride); } while (nameAddr != null); - String symbol = "heapOopSize"; // global int constant and value is initialized at runtime. - addIntConstant(symbol, (int)lookupInProcess(symbol).getCIntegerAt(0, 4, false)); } private void readVMLongConstants() {
--- a/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java Fri Mar 27 01:35:39 2009 -0500 +++ b/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java Fri Mar 27 10:29:54 2009 -0700 @@ -342,12 +342,14 @@ throw new RuntimeException("Attempt to initialize VM twice"); } soleInstance = new VM(db, debugger, debugger.getMachineDescription().isBigEndian()); - debugger.putHeapConst(soleInstance.getHeapOopSize(), Universe.getNarrowOopBase(), - Universe.getNarrowOopShift()); + for (Iterator iter = vmInitializedObservers.iterator(); iter.hasNext(); ) { ((Observer) iter.next()).update(null, null); } + debugger.putHeapConst(soleInstance.getHeapOopSize(), Universe.getNarrowOopBase(), + Universe.getNarrowOopShift()); + } /** This is used by the debugging system */
--- a/src/share/vm/runtime/vmStructs.cpp Fri Mar 27 01:35:39 2009 -0500 +++ b/src/share/vm/runtime/vmStructs.cpp Fri Mar 27 10:29:54 2009 -0700 @@ -1320,6 +1320,7 @@ /****************/ \ \ declare_constant(oopSize) \ + declare_constant(heapOopSize) \ declare_constant(LogBytesPerWord) \ declare_constant(BytesPerLong) \ \