Mercurial > hg > graal-compiler
changeset 749:81a249214991
6829234: Refix 6822407 and 6812971
Summary: Fixes two SA issues 6822407 and 6812971
Reviewed-by: swamyv, acorn, kvn, coleenp
author | poonam |
---|---|
date | Mon, 04 May 2009 17:58:10 -0700 |
parents | af5d39ca39a3 |
children | c8f1f4de26c9 |
files | agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java |
diffstat | 2 files changed, 9 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java Thu Apr 30 15:57:29 2009 -0700 +++ b/agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java Mon May 04 17:58:10 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 Thu Apr 30 15:57:29 2009 -0700 +++ b/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java Mon May 04 17:58:10 2009 -0700 @@ -318,11 +318,17 @@ logMinObjAlignmentInBytes = db.lookupIntConstant("LogMinObjAlignmentInBytes").intValue(); heapWordSize = db.lookupIntConstant("HeapWordSize").intValue(); oopSize = db.lookupIntConstant("oopSize").intValue(); - heapOopSize = db.lookupIntConstant("heapOopSize").intValue(); intxType = db.lookupType("intx"); uintxType = db.lookupType("uintx"); boolType = (CIntegerType) db.lookupType("bool"); + + if (isCompressedOopsEnabled()) { + // Size info for oops within java objects is fixed + heapOopSize = (int)getIntSize(); + } else { + heapOopSize = (int)getOopSize(); + } } /** This could be used by a reflective runtime system */ @@ -343,13 +349,12 @@ } 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 */