Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
JDK 11 jdk.hotspot.agent.jmod - Hotspot Agent Module
JDK 11 jdk.hotspot.agent.jmod is the JMOD file for JDK 11 Hotspot Agent module.
JDK 11 Hotspot Agent module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\jdk.hotspot.agent.jmod.
JDK 11 Hotspot Agent module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 Hotspot Agent module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\jdk.hotspot.agent.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ sun/jvm/hotspot/ui/tree/OopTreeNodeAdapter.java
/* * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * */ package sun.jvm.hotspot.ui.tree; import java.io.*; import sun.jvm.hotspot.oops.*; import sun.jvm.hotspot.debugger.*; import sun.jvm.hotspot.runtime.*; /** An adapter class which allows oops to be displayed in a tree via the SimpleTreeNode interface. FIXME: must attach this to some sort of policy object which determines how to display names and whether VM fields should be shown. (Must also fix oop visitation mechanism in oops package.) */ public class OopTreeNodeAdapter extends FieldTreeNodeAdapter { private Oop oop; /** The oop may be null (for oop fields of oops which are null); the FieldIdentifier may also be null (for the root node). treeTableMode defaults to false. */ public OopTreeNodeAdapter(Oop oop, FieldIdentifier id) { this(oop, id, false); } /** The oop may be null (for oop fields of oops which are null); the FieldIdentifier may also be null (for the root node). */ public OopTreeNodeAdapter(Oop oop, FieldIdentifier id, boolean treeTableMode) { super(id, treeTableMode); this.oop = oop; } public Oop getOop() { return oop; } public int getChildCount() { if (oop == null) { return 0; } Counter c = new Counter(); oop.iterate(c, true); return c.getNumFields() + (VM.getVM().getRevPtrs() == null ? 0 : 1); } public SimpleTreeNode getChild(int index) { if (oop == null) { return null; } if (VM.getVM().getRevPtrs() != null) { if (index == 0) { return new RevPtrsTreeNodeAdapter(oop, getTreeTableMode()); } else { index -= 1; } } Fetcher f = new Fetcher(index); oop.iterate(f, true); return f.getChild(); } public boolean isLeaf() { return (oop == null); } public int getIndexOfChild(SimpleTreeNode child) { if (child instanceof RevPtrsTreeNodeAdapter) { // assert(VM.getVM().getRevPtrs() != null, "Only created from revptrs"); return 0; } FieldIdentifier id = ((FieldTreeNodeAdapter) child).getID(); Finder f = new Finder(id); oop.iterate(f, true); return f.getIndex() + (VM.getVM().getRevPtrs() == null ? 0 : 1); } public String getValue() { if (oop != null) { // FIXME: choose style of printing depending on whether we're // displaying VM fields? Want to make Java objects look like // Java objects. ByteArrayOutputStream bos = new ByteArrayOutputStream(); Oop.printOopValueOn(oop, new PrintStream(bos)); return bos.toString(); } return "null"; } /** Should be applied to one oop at a time, then have the number of fields fetched. FIXME: want this to distinguish between VM and non-VM fields. */ static class Counter extends DefaultOopVisitor { private int numFields; public int getNumFields() { return numFields; } public void prologue() { numFields = 0; } public void doMetadata(MetadataField field, boolean isVMField) { ++numFields; } public void doOop(OopField field, boolean isVMField) { ++numFields; } public void doByte(ByteField field, boolean isVMField) { ++numFields; } public void doChar(CharField field, boolean isVMField) { ++numFields; } public void doBoolean(BooleanField field, boolean isVMField) { ++numFields; } public void doShort(ShortField field, boolean isVMField) { ++numFields; } public void doInt(IntField field, boolean isVMField) { ++numFields; } public void doLong(LongField field, boolean isVMField) { ++numFields; } public void doFloat(FloatField field, boolean isVMField) { ++numFields; } public void doDouble(DoubleField field, boolean isVMField) { ++numFields; } public void doCInt(CIntField field, boolean isVMField) { ++numFields; } } /** Creates a new SimpleTreeNode for the given field. FIXME: want this to distinguish between VM and non-VM fields. */ class Fetcher extends DefaultOopVisitor { private int index; private int curField; private SimpleTreeNode child; public Fetcher(int index) { this.index = index; } public SimpleTreeNode getChild() { return child; } public void prologue() { curField = 0; } public void doMetadata(MetadataField field, boolean isVMField) { if (curField == index) { try { child = new MetadataTreeNodeAdapter(field.getValue(getObj()), field.getID(), getTreeTableMode()); } catch (AddressException e) { child = new BadAddressTreeNodeAdapter(getObj().getHandle().getAddressAt(field.getOffset()), field, getTreeTableMode()); } catch (UnknownOopException e) { child = new BadAddressTreeNodeAdapter(getObj().getHandle().getAddressAt(field.getOffset()), field, getTreeTableMode()); } } ++curField; } public void doOop(OopField field, boolean isVMField) { if (curField == index) { try { child = new OopTreeNodeAdapter(field.getValue(getObj()), field.getID(), getTreeTableMode()); } catch (AddressException e) { child = new BadAddressTreeNodeAdapter(field.getValueAsOopHandle(getObj()), field, getTreeTableMode()); } catch (UnknownOopException e) { child = new BadAddressTreeNodeAdapter(field.getValueAsOopHandle(getObj()), field, getTreeTableMode()); } } ++curField; } public void doByte(ByteField field, boolean isVMField) { if (curField == index) { child = new LongTreeNodeAdapter(field.getValue(getObj()) & 0xFF, field.getID(), getTreeTableMode()); } ++curField; } public void doChar(CharField field, boolean isVMField) { if (curField == index) { child = new CharTreeNodeAdapter(field.getValue(getObj()), field.getID(), getTreeTableMode()); } ++curField; } public void doBoolean(BooleanField field, boolean isVMField) { if (curField == index) { child = new BooleanTreeNodeAdapter(field.getValue(getObj()), field.getID(), getTreeTableMode()); } ++curField; } public void doShort(ShortField field, boolean isVMField) { if (curField == index) { child = new LongTreeNodeAdapter(field.getValue(getObj()) & 0xFFFF, field.getID(), getTreeTableMode()); } ++curField; } public void doInt(IntField field, boolean isVMField) { if (curField == index) { child = new LongTreeNodeAdapter(field.getValue(getObj()) & 0xFFFFFFFF, field.getID(), getTreeTableMode()); } ++curField; } public void doLong(LongField field, boolean isVMField) { if (curField == index) { child = new LongTreeNodeAdapter(field.getValue(getObj()), field.getID(), getTreeTableMode()); } ++curField; } public void doFloat(FloatField field, boolean isVMField) { if (curField == index) { child = new FloatTreeNodeAdapter(field.getValue(getObj()), field.getID(), getTreeTableMode()); } ++curField; } public void doDouble(DoubleField field, boolean isVMField) { if (curField == index) { child = new DoubleTreeNodeAdapter(field.getValue(getObj()), field.getID(), getTreeTableMode()); } ++curField; } public void doCInt(CIntField field, boolean isVMField) { if (curField == index) { child = new LongTreeNodeAdapter(field.getValue(getObj()), field.getID(), getTreeTableMode()); } ++curField; } } /** Finds the index of the given FieldIdentifier. */ static class Finder extends DefaultOopVisitor { private FieldIdentifier id; private int curField; private int index; public Finder(FieldIdentifier id) { this.id = id; } /** Returns -1 if not found */ public int getIndex() { return index; } public void prologue() { curField = 0; index = -1; } public void doOop(OopField field, boolean isVMField) { if (field.getID().equals(id)) { index = curField; } ++curField; } public void doByte(ByteField field, boolean isVMField) { if (field.getID().equals(id)) { index = curField; } ++curField; } public void doChar(CharField field, boolean isVMField) { if (field.getID().equals(id)) { index = curField; } ++curField; } public void doBoolean(BooleanField field, boolean isVMField) { if (field.getID().equals(id)) { index = curField; } ++curField; } public void doShort(ShortField field, boolean isVMField) { if (field.getID().equals(id)) { index = curField; } ++curField; } public void doInt(IntField field, boolean isVMField) { if (field.getID().equals(id)) { index = curField; } ++curField; } public void doLong(LongField field, boolean isVMField) { if (field.getID().equals(id)) { index = curField; } ++curField; } public void doFloat(FloatField field, boolean isVMField) { if (field.getID().equals(id)) { index = curField; } ++curField; } public void doDouble(DoubleField field, boolean isVMField) { if (field.getID().equals(id)) { index = curField; } ++curField; } public void doCInt(CIntField field, boolean isVMField) { if (field.getID().equals(id)) { index = curField; } ++curField; } } }
⏎ sun/jvm/hotspot/ui/tree/OopTreeNodeAdapter.java
Or download all of them as a single archive file:
File name: jdk.hotspot.agent-11.0.1-src.zip File size: 1243786 bytes Release date: 2018-11-04 Download
⇒ JDK 11 jdk.httpserver.jmod - HTTP Server Module
2020-02-29, 132079👍, 0💬
Popular Posts:
What is the dom\GetElementsByTagName .javaprovided in the Apache Xerces package? I have Apache Xerce...
What Is poi-scratchpad-5.2.3.jar ?poi-scratchpad-5.2.3.jar is one of the JAR files for Apache POI 5....
Java Cryptography Extension 1.2.2 JAR File Size and Download Location: File name: jce.jar, jce-1.2.2...
What Is HttpComponents httpclient-4.2.2.jar? HttpComponents httpclient-4.2.2.jar is the JAR file for...
JDK 6 tools.jar is the JAR file for JDK 6 tools. It contains Java classes to support different JDK t...