1413 buf.genHTMLPrologue(genNMethodTitle(nmethod)); |
1413 buf.genHTMLPrologue(genNMethodTitle(nmethod)); |
1414 buf.h3("Method"); |
1414 buf.h3("Method"); |
1415 buf.append(genMethodAndKlassLink(nmethod.getMethod())); |
1415 buf.append(genMethodAndKlassLink(nmethod.getMethod())); |
1416 |
1416 |
1417 buf.h3("Compiled Code"); |
1417 buf.h3("Compiled Code"); |
1418 sun.jvm.hotspot.debugger.Address codeBegin = nmethod.codeBegin(); |
1418 sun.jvm.hotspot.debugger.Address instsBegin = nmethod.instsBegin(); |
1419 sun.jvm.hotspot.debugger.Address codeEnd = nmethod.codeEnd(); |
1419 sun.jvm.hotspot.debugger.Address instsEnd = nmethod.instsEnd(); |
1420 final int codeSize = (int)codeEnd.minus(codeBegin); |
1420 final int instsSize = nmethod.instsSize(); |
1421 final long startPc = addressToLong(codeBegin); |
1421 final long startPc = addressToLong(instsBegin); |
1422 final byte[] code = new byte[codeSize]; |
1422 final byte[] code = new byte[instsSize]; |
1423 for (int i=0; i < code.length; i++) |
1423 for (int i=0; i < code.length; i++) |
1424 code[i] = codeBegin.getJByteAt(i); |
1424 code[i] = instsBegin.getJByteAt(i); |
1425 |
1425 |
1426 final long verifiedEntryPoint = addressToLong(nmethod.getVerifiedEntryPoint()); |
1426 final long verifiedEntryPoint = addressToLong(nmethod.getVerifiedEntryPoint()); |
1427 final long entryPoint = addressToLong(nmethod.getEntryPoint()); |
1427 final long entryPoint = addressToLong(nmethod.getEntryPoint()); |
1428 final Map safepoints = nmethod.getSafepoints(); |
1428 final Map safepoints = nmethod.getSafepoints(); |
1429 |
1429 |
1497 final Formatter buf = new Formatter(genHTML); |
1497 final Formatter buf = new Formatter(genHTML); |
1498 buf.genHTMLPrologue(genCodeBlobTitle(blob)); |
1498 buf.genHTMLPrologue(genCodeBlobTitle(blob)); |
1499 buf.h3("CodeBlob"); |
1499 buf.h3("CodeBlob"); |
1500 |
1500 |
1501 buf.h3("Compiled Code"); |
1501 buf.h3("Compiled Code"); |
1502 final sun.jvm.hotspot.debugger.Address codeBegin = blob.instructionsBegin(); |
1502 final sun.jvm.hotspot.debugger.Address codeBegin = blob.codeBegin(); |
1503 final int codeSize = blob.getInstructionsSize(); |
1503 final int codeSize = blob.getCodeSize(); |
1504 final long startPc = addressToLong(codeBegin); |
1504 final long startPc = addressToLong(codeBegin); |
1505 final byte[] code = new byte[codeSize]; |
1505 final byte[] code = new byte[codeSize]; |
1506 for (int i=0; i < code.length; i++) |
1506 for (int i=0; i < code.length; i++) |
1507 code[i] = codeBegin.getJByteAt(i); |
1507 code[i] = codeBegin.getJByteAt(i); |
1508 |
1508 |