# HG changeset patch # User roland # Date 1429090602 -7200 # Node ID d91d9c2851395f82283b9ea9922e993ebcad21f6 # Parent 5f1a3a275862b4594ce1a779b333c4ca8bcbbc77 8077832: SA's dumpreplaydata, dumpcfg and buildreplayjars are broken Summary: SA code out of sync with hotspot code Reviewed-by: dsamersoff, sla, kvn diff -r 5f1a3a275862 -r d91d9c285139 hotspot/agent/src/share/classes/sun/jvm/hotspot/ci/ciMethodData.java --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/ci/ciMethodData.java Wed Apr 15 11:01:56 2015 +0200 +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/ci/ciMethodData.java Wed Apr 15 11:36:42 2015 +0200 @@ -148,7 +148,7 @@ ParametersTypeData parametersTypeData() { Address base = getAddress().addOffsetTo(origField.getOffset()); int di = (int)parametersTypeDataDi.getValue(base); - if (di == -1) { + if (di == -1 || di == -2) { return null; } DataLayout dataLayout = new DataLayout(dataField.getValue(getAddress()), di); diff -r 5f1a3a275862 -r d91d9c285139 hotspot/agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPool.java --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPool.java Wed Apr 15 11:01:56 2015 +0200 +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPool.java Wed Apr 15 11:36:42 2015 +0200 @@ -328,7 +328,7 @@ } public Symbol getUnresolvedStringAt(int which) { - return getSymbolAt(which); + return getSlotAt(which).getSymbol(); } // returns null, if not resolved. diff -r 5f1a3a275862 -r d91d9c285139 hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/PhaseCFG.java --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/PhaseCFG.java Wed Apr 15 11:01:56 2015 +0200 +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/PhaseCFG.java Wed Apr 15 11:36:42 2015 +0200 @@ -42,10 +42,10 @@ private static synchronized void initialize(TypeDataBase db) throws WrongTypeException { Type type = db.lookupType("PhaseCFG"); - numBlocksField = new CIntField(type.getCIntegerField("_num_blocks"), 0); + numBlocksField = new CIntField(type.getCIntegerField("_number_of_blocks"), 0); blocksField = type.getAddressField("_blocks"); bbsField = type.getAddressField("_node_to_block_mapping"); - brootField = type.getAddressField("_broot"); + brootField = type.getAddressField("_root_block"); } private static CIntField numBlocksField;