src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/CommandProcessor.java
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
open Cdiff src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/CommandProcessor.java
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/CommandProcessor.java
Print this page
*** 47,56 ****
--- 47,57 ----
import sun.jvm.hotspot.code.CodeCacheVisitor;
import sun.jvm.hotspot.code.NMethod;
import sun.jvm.hotspot.debugger.Address;
import sun.jvm.hotspot.debugger.OopHandle;
import sun.jvm.hotspot.classfile.ClassLoaderDataGraph;
+ import sun.jvm.hotspot.memory.FileMapInfo;
import sun.jvm.hotspot.memory.SymbolTable;
import sun.jvm.hotspot.memory.SystemDictionary;
import sun.jvm.hotspot.memory.Universe;
import sun.jvm.hotspot.gc.shared.CollectedHeap;
import sun.jvm.hotspot.gc.g1.G1CollectedHeap;
*** 87,96 ****
--- 88,98 ----
import sun.jvm.hotspot.ui.tree.CTypeTreeNodeAdapter;
import sun.jvm.hotspot.ui.tree.OopTreeNodeAdapter;
import sun.jvm.hotspot.ui.tree.SimpleTreeNode;
import sun.jvm.hotspot.utilities.AddressOps;
import sun.jvm.hotspot.utilities.Assert;
+ import sun.jvm.hotspot.utilities.CompactHashTable;
import sun.jvm.hotspot.utilities.HeapProgressThunk;
import sun.jvm.hotspot.utilities.LivenessPathElement;
import sun.jvm.hotspot.utilities.MethodArray;
import sun.jvm.hotspot.utilities.ObjectReader;
import sun.jvm.hotspot.utilities.PointerFinder;
*** 635,651 ****
}
}
},
new Command("symboldump", "symboldump", false) {
public void doit(Tokens t) {
! SymbolTable.getTheTable().symbolsDo(new SymbolTable.SymbolVisitor() {
public void visit(Symbol sym) {
sym.printValueOn(out);
out.println();
}
});
}
},
new Command("flags", "flags [ flag | -nd ]", false) {
public void doit(Tokens t) {
int tokens = t.countTokens();
if (tokens != 0 && tokens != 1) {
--- 637,663 ----
}
}
},
new Command("symboldump", "symboldump", false) {
public void doit(Tokens t) {
! SymbolTable theTable = SymbolTable.getTheTable();
! theTable.symbolsDo(new SymbolTable.SymbolVisitor() {
! public void visit(Symbol sym) {
! sym.printValueOn(out);
! out.println();
! }
! });
! CompactHashTable sharedTable = theTable.getSharedTable();
! if (sharedTable != null) {
! sharedTable.symbolsDo(new CompactHashTable.SymbolVisitor() {
public void visit(Symbol sym) {
sym.printValueOn(out);
out.println();
}
});
}
+ }
},
new Command("flags", "flags [ flag | -nd ]", false) {
public void doit(Tokens t) {
int tokens = t.countTokens();
if (tokens != 0 && tokens != 1) {
*** 1046,1055 ****
--- 1058,1076 ----
CodeBlob blob = VM.getVM().getCodeCache().findBlobUnsafe(a);
a = blob.headerBegin();
}
if (node == null) {
Type type = VM.getVM().getTypeDataBase().guessTypeForAddress(a);
+ if (type == null && VM.getVM().isSharingEnabled()) {
+ // Check if the value falls in the _md_region
+ Address loc1 = a.getAddressAt(0);
+ FileMapInfo cdsFileMapInfo = VM.getVM().getFileMapInfo();
+ if (cdsFileMapInfo.inCopiedVtableSpace(loc1)) {
+ type = cdsFileMapInfo.getTypeForVptrAddress(loc1);
+ }
+
+ }
if (type != null) {
out.println("Type is " + type.getName() + " (size of " + type.getSize() + ")");
node = new CTypeTreeNodeAdapter(a, type, null);
}
}
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/CommandProcessor.java
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File