Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
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 (322)
Collections:
Other Resources:
JDK 17 jdk.hotspot.agent.jmod - Hotspot Agent Module
JDK 17 jdk.hotspot.agent.jmod is the JMOD file for JDK 17 Hotspot Agent module.
JDK 17 Hotspot Agent module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\jdk.hotspot.agent.jmod.
JDK 17 Hotspot Agent module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Hotspot Agent module source code files are stored in \fyicenter\jdk-17.0.5\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/code/ScopeDesc.java
/*
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package sun.jvm.hotspot.code;
import java.io.*;
import java.util.*;
import sun.jvm.hotspot.debugger.*;
import sun.jvm.hotspot.oops.*;
import sun.jvm.hotspot.runtime.*;
import sun.jvm.hotspot.utilities.*;
/** ScopeDescs contain the information that makes source-level
debugging of nmethods possible; each scopeDesc describes a method
activation */
public class ScopeDesc {
/** NMethod information */
private NMethod code;
private Method method;
private int bci;
private boolean reexecute;
/** Decoding offsets */
private int decodeOffset;
private int senderDecodeOffset;
private int localsDecodeOffset;
private int expressionsDecodeOffset;
private int monitorsDecodeOffset;
/** Scalar replaced bjects pool */
private List<ObjectValue> objects;
private ScopeDesc(NMethod code, int decodeOffset, List<ObjectValue> objects, boolean reexecute) {
this.code = code;
this.decodeOffset = decodeOffset;
this.objects = objects;
this.reexecute = reexecute;
// Decode header
DebugInfoReadStream stream = streamAt(decodeOffset);
senderDecodeOffset = stream.readInt();
method = stream.readMethod();
bci = stream.readBCI();
// Decode offsets for body and sender
localsDecodeOffset = stream.readInt();
expressionsDecodeOffset = stream.readInt();
monitorsDecodeOffset = stream.readInt();
}
public ScopeDesc(NMethod code, int decodeOffset, int objectDecodeOffset, boolean reexecute) {
this.code = code;
this.decodeOffset = decodeOffset;
this.objects = decodeObjectValues(objectDecodeOffset);
this.reexecute = reexecute;
// Decode header
DebugInfoReadStream stream = streamAt(decodeOffset);
senderDecodeOffset = stream.readInt();
method = stream.readMethod();
bci = stream.readBCI();
// Decode offsets for body and sender
localsDecodeOffset = stream.readInt();
expressionsDecodeOffset = stream.readInt();
monitorsDecodeOffset = stream.readInt();
}
public NMethod getNMethod() { return code; }
public Method getMethod() { return method; }
public int getBCI() { return bci; }
public boolean getReexecute() { return reexecute;}
/** Returns a List<ScopeValue> */
public List<ScopeValue> getLocals() {
return decodeScopeValues(localsDecodeOffset);
}
/** Returns a List<ScopeValue> */
public List<ScopeValue> getExpressions() {
return decodeScopeValues(expressionsDecodeOffset);
}
/** Returns a List<MonitorValue> */
public List<MonitorValue> getMonitors() {
return decodeMonitorValues(monitorsDecodeOffset);
}
/** Returns a List<ObjectValue> */
public List<ObjectValue> getObjects() {
return objects;
}
/** Stack walking. Returns null if this is the outermost scope. */
public ScopeDesc sender() {
if (isTop()) {
return null;
}
return new ScopeDesc(code, senderDecodeOffset, objects, false);
}
/** Returns where the scope was decoded */
public int getDecodeOffset() {
return decodeOffset;
}
/** Tells whether sender() returns null */
public boolean isTop() {
return (senderDecodeOffset == DebugInformationRecorder.SERIALIZED_NULL);
}
public boolean equals(Object arg) {
if (arg == null) {
return false;
}
if (!(arg instanceof ScopeDesc)) {
return false;
}
ScopeDesc sd = (ScopeDesc) arg;
return (sd.method.equals(method) && (sd.bci == bci));
}
public void printValue() {
printValueOn(System.out);
}
public void printValueOn(PrintStream tty) {
tty.print("ScopeDesc for ");
method.printValueOn(tty);
tty.print(" @bci " + bci);
tty.println(" reexecute=" + reexecute);
}
// FIXME: add more accessors
//--------------------------------------------------------------------------------
// Internals only below this point
//
private DebugInfoReadStream streamAt(int decodeOffset) {
return new DebugInfoReadStream(code, decodeOffset, objects);
}
/** Returns a List<ScopeValue> or null if no values were present */
private List<ScopeValue> decodeScopeValues(int decodeOffset) {
if (decodeOffset == DebugInformationRecorder.SERIALIZED_NULL) {
return null;
}
DebugInfoReadStream stream = streamAt(decodeOffset);
int length = stream.readInt();
List<ScopeValue> res = new ArrayList<>(length);
for (int i = 0; i < length; i++) {
res.add(ScopeValue.readFrom(stream));
}
return res;
}
/** Returns a List<MonitorValue> or null if no values were present */
private List<MonitorValue> decodeMonitorValues(int decodeOffset) {
if (decodeOffset == DebugInformationRecorder.SERIALIZED_NULL) {
return null;
}
DebugInfoReadStream stream = streamAt(decodeOffset);
int length = stream.readInt();
List<MonitorValue> res = new ArrayList<>(length);
for (int i = 0; i < length; i++) {
res.add(new MonitorValue(stream));
}
return res;
}
/** Returns a List<ObjectValue> or null if no values were present */
private List<ObjectValue> decodeObjectValues(int decodeOffset) {
if (decodeOffset == DebugInformationRecorder.SERIALIZED_NULL) {
return null;
}
List<ObjectValue> res = new ArrayList<>();
DebugInfoReadStream stream = new DebugInfoReadStream(code, decodeOffset, res);
int length = stream.readInt();
for (int i = 0; i < length; i++) {
// Objects values are pushed to 'res' array during read so that
// object's fields could reference it (OBJECT_ID_CODE).
ScopeValue.readFrom(stream);
// res.add(ScopeValue.readFrom(stream));
}
Assert.that(res.size() == length, "inconsistent debug information");
return res;
}
}
⏎ sun/jvm/hotspot/code/ScopeDesc.java
Or download all of them as a single archive file:
File name: jdk.hotspot.agent-17.0.5-src.zip File size: 1238587 bytes Release date: 2022-09-13 Download
⇒ JDK 17 jdk.httpserver.jmod - HTTP Server Module
2023-10-04, ≈286🔥, 0💬
Popular Posts:
What Is jtds-1.2.2.jar? jtds-1.2.2.jar is the JAR files of jTDS Java library 1.2.2, which is a JDBC ...
JDK 17 java.xml.crypto.jmod is the JMOD file for JDK 17 XML (eXtensible Markup Language) Crypto modu...
Apache Neethi provides general framework for the programmers to use WS Policy. It is compliant with ...
Where to get the Java source code for Connector/J 8.0 User Impl module? Java source code files for C...
JDK 11 jdk.jlink.jmod is the JMOD file for JDK 11 JLink tool, which can be invoked by the "jlink" co...