6957882: nsk/sajdi tests failed with NullPointerException

VM.getObjectAlignmentInBytes() accesses intxType before it is created.

Reviewed-by: never
This commit is contained in:
Vladimir Kozlov 2010-06-02 12:02:49 -07:00
parent a3005a16fc
commit bdef27482c

View File

@ -314,6 +314,13 @@ public class VM {
isLP64 = debugger.getMachineDescription().isLP64();
}
bytesPerLong = db.lookupIntConstant("BytesPerLong").intValue();
heapWordSize = db.lookupIntConstant("HeapWordSize").intValue();
oopSize = db.lookupIntConstant("oopSize").intValue();
intxType = db.lookupType("intx");
uintxType = db.lookupType("uintx");
boolType = (CIntegerType) db.lookupType("bool");
minObjAlignmentInBytes = getObjectAlignmentInBytes();
if (minObjAlignmentInBytes == 8) {
logMinObjAlignmentInBytes = 3;
@ -323,13 +330,6 @@ public class VM {
throw new RuntimeException("Object alignment " + minObjAlignmentInBytes + " not yet supported");
}
heapWordSize = db.lookupIntConstant("HeapWordSize").intValue();
oopSize = db.lookupIntConstant("oopSize").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();