提交 be2afc55 编写于 作者: P poonam

6829234: Refix 6822407 and 6812971

Summary: Fixes two SA issues 6822407 and 6812971
Reviewed-by: swamyv, acorn, kvn, coleenp
上级 8f40eccf
...@@ -306,8 +306,6 @@ public class HotSpotTypeDataBase extends BasicTypeDataBase { ...@@ -306,8 +306,6 @@ public class HotSpotTypeDataBase extends BasicTypeDataBase {
entryAddr = entryAddr.addOffsetTo(intConstantEntryArrayStride); entryAddr = entryAddr.addOffsetTo(intConstantEntryArrayStride);
} while (nameAddr != null); } 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() { private void readVMLongConstants() {
......
...@@ -318,11 +318,17 @@ public class VM { ...@@ -318,11 +318,17 @@ public class VM {
logMinObjAlignmentInBytes = db.lookupIntConstant("LogMinObjAlignmentInBytes").intValue(); logMinObjAlignmentInBytes = db.lookupIntConstant("LogMinObjAlignmentInBytes").intValue();
heapWordSize = db.lookupIntConstant("HeapWordSize").intValue(); heapWordSize = db.lookupIntConstant("HeapWordSize").intValue();
oopSize = db.lookupIntConstant("oopSize").intValue(); oopSize = db.lookupIntConstant("oopSize").intValue();
heapOopSize = db.lookupIntConstant("heapOopSize").intValue();
intxType = db.lookupType("intx"); intxType = db.lookupType("intx");
uintxType = db.lookupType("uintx"); uintxType = db.lookupType("uintx");
boolType = (CIntegerType) db.lookupType("bool"); 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 */ /** This could be used by a reflective runtime system */
...@@ -343,13 +349,12 @@ public class VM { ...@@ -343,13 +349,12 @@ public class VM {
} }
soleInstance = new VM(db, debugger, debugger.getMachineDescription().isBigEndian()); soleInstance = new VM(db, debugger, debugger.getMachineDescription().isBigEndian());
debugger.putHeapConst(soleInstance.getHeapOopSize(), Universe.getNarrowOopBase(),
Universe.getNarrowOopShift());
for (Iterator iter = vmInitializedObservers.iterator(); iter.hasNext(); ) { for (Iterator iter = vmInitializedObservers.iterator(); iter.hasNext(); ) {
((Observer) iter.next()).update(null, null); ((Observer) iter.next()).update(null, null);
} }
debugger.putHeapConst(soleInstance.getHeapOopSize(), Universe.getNarrowOopBase(),
Universe.getNarrowOopShift());
} }
/** This is used by the debugging system */ /** This is used by the debugging system */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册