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/runtime/solaris_sparc/SolarisSPARCJavaThreadPDAccess.java
/* * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * */ package sun.jvm.hotspot.runtime.solaris_sparc; import java.io.*; import java.util.*; import sun.jvm.hotspot.debugger.*; import sun.jvm.hotspot.debugger.sparc.*; import sun.jvm.hotspot.runtime.*; import sun.jvm.hotspot.runtime.sparc.*; import sun.jvm.hotspot.types.*; import sun.jvm.hotspot.utilities.*; public class SolarisSPARCJavaThreadPDAccess implements JavaThreadPDAccess { private static AddressField baseOfStackPointerField; private static AddressField postJavaStateField; private static AddressField osThreadField; private static int isPC; private static int hasFlushed; // Field from OSThread private static CIntegerField osThreadThreadIDField; static { VM.registerVMInitializedObserver(new Observer() { public void update(Observable o, Object data) { initialize(VM.getVM().getTypeDataBase()); } }); } private static synchronized void initialize(TypeDataBase db) { Type type = db.lookupType("JavaThread"); Type anchorType = db.lookupType("JavaFrameAnchor"); baseOfStackPointerField = type.getAddressField("_base_of_stack_pointer"); osThreadField = type.getAddressField("_osthread"); hasFlushed = db.lookupIntConstant("JavaFrameAnchor::flushed").intValue(); type = db.lookupType("OSThread"); osThreadThreadIDField = type.getCIntegerField("_thread_id"); } public Address getLastJavaFP(Address addr) { return null; } public Address getLastJavaPC(Address addr) { return null; } public Address getBaseOfStackPointer(Address addr) { return baseOfStackPointerField.getValue(addr); } public Frame getLastFramePD(JavaThread thread, Address addr) { // This assert doesn't work in the debugging case for threads // which are running Java code and which haven't re-entered the // runtime (e.g., through a Method.invoke() or otherwise). They // haven't yet "decached" their last Java stack pointer to the // thread. // if (Assert.ASSERTS_ENABLED) { // Assert.that(hasLastJavaFrame(), "must have last_Java_sp() when suspended"); // // FIXME: add assertion about flushing register windows for runtime system // // (not appropriate for debugging system, though, unless at safepoin t) // } // FIXME: I don't think this is necessary, but might be useful // while debugging if (thread.getLastJavaSP() == null) { return null; } // sparc does a lazy window flush. The _flags field of the JavaFrameAnchor // encodes whether the windows have flushed. Whenever the windows have flushed // there will be a last_Java_pc. // In a relective system we'd have to do something to force the thread to flush // its windows and give us the pc (or the younger_sp so we can find it ourselves) // In a debugger situation (process or core) the flush should have happened and // so if we don't have the younger sp we can find it // if (thread.getLastJavaPC() != null) { return new SPARCFrame(SPARCFrame.biasSP(thread.getLastJavaSP()), thread.getLastJavaPC()); } else { Frame top = getCurrentFrameGuess(thread, addr); return new SPARCFrame(SPARCFrame.biasSP(thread.getLastJavaSP()), SPARCFrame.biasSP(SPARCFrame.findYoungerSP(top.getSP(), thread.getLastJavaSP())), false); } } public RegisterMap newRegisterMap(JavaThread thread, boolean updateMap) { return new SPARCRegisterMap(thread, updateMap); } public Frame getCurrentFrameGuess(JavaThread thread, Address addr) { // If java stack is walkable then both last_Java_sp and last_Java_pc are // non null and we can start stack walk from this frame. if (thread.getLastJavaSP() != null && thread.getLastJavaPC() != null) { return new SPARCFrame(SPARCFrame.biasSP(thread.getLastJavaSP()), thread.getLastJavaPC()); } ThreadProxy t = getThreadProxy(addr); SPARCThreadContext context = (SPARCThreadContext) t.getContext(); // For now, let's see what happens if we do a similar thing to // what the runtime code does. I suspect this may cause us to lose // the top frame from the stack. Address sp = context.getRegisterAsAddress(SPARCThreadContext.R_SP); Address pc = context.getRegisterAsAddress(SPARCThreadContext.R_PC); if ((sp == null) || (pc == null)) { // Problems (have not hit this case so far, but would be bad to continue if we did) return null; } return new SPARCFrame(sp, pc); } public void printThreadIDOn(Address addr, PrintStream tty) { tty.print(getThreadProxy(addr)); } public Address getLastSP(Address addr) { ThreadProxy t = getThreadProxy(addr); SPARCThreadContext context = (SPARCThreadContext) t.getContext(); return SPARCFrame.unBiasSP(context.getRegisterAsAddress(SPARCThreadContext.R_SP)); } public void printInfoOn(Address threadAddr, PrintStream tty) { } public ThreadProxy getThreadProxy(Address addr) { // Fetch the OSThread (for now and for simplicity, not making a // separate "OSThread" class in this package) Address osThreadAddr = osThreadField.getValue(addr); // Get the address of the thread ID from the OSThread Address tidAddr = osThreadAddr.addOffsetTo(osThreadThreadIDField.getOffset()); JVMDebugger debugger = VM.getVM().getDebugger(); return debugger.getThreadForIdentifierAddress(tidAddr); } }
⏎ sun/jvm/hotspot/runtime/solaris_sparc/SolarisSPARCJavaThreadPDAccess.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, 130299👍, 0💬
Popular Posts:
maven-core-3.8.6.jar is the JAR file for Apache Maven 3.8.6 Core module. Apache Maven is a software ...
commons-lang-1.0.1.jar is the JAR file for Apache Commons Lang 1.0.1, which provides a host of helpe...
What is the jaxp\SourceValidator.jav aprovided in the Apache Xerces package? I have Apache Xerces 2....
The Jakarta-ORO Java classes are a set of text-processing Java classes that provide Perl5 compatible...
Jackson is "the Java JSON library" or "the best JSON parser for Java". Or simply as "JSON for Java"....