agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java
agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java
Print this page
*** 29,43 ****
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;
--- 29,41 ----
*** 885,895 ****
class HTMLDisassembler implements InstructionVisitor {
private int instrSize = 0;
private Formatter buf;
private SymbolFinder symFinder = createSymbolFinder();
private long pc;
! private OopMapSet oms;
private CodeBlob blob;
private NMethod nmethod;
HTMLDisassembler(Formatter buf, CodeBlob blob) {
this.buf = buf;
--- 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 ****
}
}
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();
if (omspc > pc) {
if (omspc <= endPc) {
buf.br();
! buf.append(genOopMapInfo(om));
// st.move_to(column);
// visitor.print("; ");
// om.print_on(st);
}
break;
--- 950,966 ----
}
}
if (oms != null) {
long base = addressToLong(blob.codeBegin());
! 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 ****
}
buf.br();
}
}
! protected String genHTMLForOopMap(OopMap map) {
final int stack0 = VMRegImpl.getStack0().getValue();
Formatter buf = new Formatter(genHTML);
final class OopMapValueIterator {
final Formatter iterate(OopMapStream oms, String type, boolean printContentReg) {
--- 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 ****
return buf.toString();
}
protected String genOopMapInfo(NMethod nmethod, PCDesc pcDesc) {
! OopMapSet mapSet = nmethod.getOopMaps();
if (mapSet == null || (mapSet.getSize() <= 0))
return "";
int pcOffset = pcDesc.getPCOffset();
! OopMap map = mapSet.findMapAtOffset(pcOffset, VM.getVM().isDebugging());
if (map == null) {
throw new IllegalArgumentException("no oopmap at safepoint!");
}
return genOopMapInfo(map);
}
! protected String genOopMapInfo(OopMap map) {
Formatter buf = new Formatter(genHTML);
buf.beginTag("pre");
buf.append("OopMap: ");
buf.br();
buf.append(genHTMLForOopMap(map));
--- 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