agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java	Thu Apr 30 16:11:22 2015
--- new/agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java	Thu Apr 30 16:11:22 2015

*** 29,43 **** --- 29,41 ---- import sun.jvm.hotspot.asm.*; import sun.jvm.hotspot.code.*; import sun.jvm.hotspot.compiler.*; import sun.jvm.hotspot.debugger.*; import sun.jvm.hotspot.interpreter.*; import sun.jvm.hotspot.memory.*; import sun.jvm.hotspot.oops.*; import sun.jvm.hotspot.runtime.*; import sun.jvm.hotspot.tools.jcore.*; import sun.jvm.hotspot.types.*; import sun.jvm.hotspot.utilities.*; public class HTMLGenerator implements /* imports */ ClassConstants { static class Formatter { boolean html;
*** 885,895 **** --- 883,893 ---- class HTMLDisassembler implements InstructionVisitor { private int instrSize = 0; private Formatter buf; private SymbolFinder symFinder = createSymbolFinder(); private long pc; ! private ImmutableOopMapSet oms; private CodeBlob blob; private NMethod nmethod; HTMLDisassembler(Formatter buf, CodeBlob blob) { this.buf = buf;
*** 952,968 **** --- 950,966 ---- } } if (oms != null) { long base = addressToLong(blob.codeBegin()); ! for (int i = 0, imax = (int)oms.getSize(); i < imax; i++) { ! OopMap om = oms.getMapAt(i); ! long omspc = base + om.getOffset(); ! for (int i = 0, imax = oms.getCount(); i < imax; i++) { ! ImmutableOopMapPair pair = oms.getPairAt(i); ! long omspc = base + pair.getPC(); if (omspc > pc) { if (omspc <= endPc) { buf.br(); ! buf.append(genOopMapInfo(oms.getMap(pair))); // st.move_to(column); // visitor.print("; "); // om.print_on(st); } break;
*** 1165,1175 **** --- 1163,1173 ---- } buf.br(); } } ! protected String genHTMLForOopMap(ImmutableOopMap map) { final int stack0 = VMRegImpl.getStack0().getValue(); Formatter buf = new Formatter(genHTML); final class OopMapValueIterator { final Formatter iterate(OopMapStream oms, String type, boolean printContentReg) {
*** 1235,1257 **** --- 1233,1255 ---- return buf.toString(); } protected String genOopMapInfo(NMethod nmethod, PCDesc pcDesc) { ! ImmutableOopMapSet mapSet = nmethod.getOopMaps(); if (mapSet == null || (mapSet.getSize() <= 0)) return ""; int pcOffset = pcDesc.getPCOffset(); ! ImmutableOopMap map = mapSet.findMapAtOffset(pcOffset, VM.getVM().isDebugging()); if (map == null) { throw new IllegalArgumentException("no oopmap at safepoint!"); } return genOopMapInfo(map); } ! protected String genOopMapInfo(ImmutableOopMap map) { Formatter buf = new Formatter(genHTML); buf.beginTag("pre"); buf.append("OopMap: "); buf.br(); buf.append(genHTMLForOopMap(map));

agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File