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/debugger/DebuggerUtilities.java
/* * Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * */ package sun.jvm.hotspot.debugger; /** Common routines for data conversion */ public class DebuggerUtilities { protected long addressSize; protected boolean isBigEndian; public DebuggerUtilities(long addressSize, boolean isBigEndian) { this.addressSize = addressSize; this.isBigEndian = isBigEndian; } public String addressValueToString(long address) { StringBuffer buf = new StringBuffer(); buf.append("0x"); String val; // Make negative addresses have the correct size if (addressSize == 8) { val = Long.toHexString(address); } else { val = Integer.toHexString((int) address); } for (int i = 0; i < ((2 * addressSize) - val.length()); i++) { buf.append('0'); } buf.append(val); return buf.toString(); } public void checkAlignment(long address, long alignment) { if (address % alignment != 0) { throw new UnalignedAddressException("Trying to read at address: " + addressValueToString(address) + " with alignment: " + alignment, address); } } public long scanAddress(String addrStr) throws NumberFormatException { String s = addrStr.trim(); if (!s.startsWith("0x")) { throw new NumberFormatException(addrStr); } long l = 0; for (int i = 2; i < s.length(); ++i) { int val = charToNibble(s.charAt(i)); l <<= 4; l |= val; } return l; } public int charToNibble(char ascii) throws NumberFormatException { if (ascii >= '0' && ascii <= '9') { return ascii - '0'; } else if (ascii >= 'A' && ascii <= 'F') { return 10 + ascii - 'A'; } else if (ascii >= 'a' && ascii <= 'f') { return 10 + ascii - 'a'; } throw new NumberFormatException(new Character(ascii).toString()); } public boolean dataToJBoolean(byte[] data, long jbooleanSize) { checkDataContents(data, jbooleanSize); return (data[0] != 0); } public byte dataToJByte(byte[] data, long jbyteSize) { checkDataContents(data, jbyteSize); return data[0]; } public char dataToJChar(byte[] data, long jcharSize) { checkDataContents(data, jcharSize); if (!isBigEndian) { byteSwap(data); } return (char) (((data[0] & 0xFF) << 8) | (data[1] & 0xFF)); } public double dataToJDouble(byte[] data, long jdoubleSize) { long longBits = dataToJLong(data, jdoubleSize); return Double.longBitsToDouble(longBits); } public float dataToJFloat(byte[] data, long jfloatSize) { int intBits = dataToJInt(data, jfloatSize); return Float.intBitsToFloat(intBits); } public int dataToJInt(byte[] data, long jintSize) { checkDataContents(data, jintSize); if (!isBigEndian) { byteSwap(data); } return (((data[0] & 0xFF) << 24) | ((data[1] & 0xFF) << 16) | ((data[2] & 0xFF) << 8) | (data[3] & 0xFF)); } public long dataToJLong(byte[] data, long jlongSize) { checkDataContents(data, jlongSize); if (!isBigEndian) { byteSwap(data); } return rawDataToJLong(data); } public short dataToJShort(byte[] data, long jshortSize) { checkDataContents(data, jshortSize); if (!isBigEndian) { byteSwap(data); } return (short) (((data[0] & 0xFF) << 8) | (data[1] & 0xFF)); } public long dataToCInteger(byte[] data, boolean isUnsigned) { checkDataContents(data, data.length); if (!isBigEndian) { byteSwap(data); } // By default we'll be zero-extending. // Therefore we need to check to see whether isUnsigned is false and // also the high bit of the data is set. if ((data.length < 8) && (isUnsigned == false) && ((data[0] & 0x80) != 0)) { // Must sign-extend and right-align the data byte[] newData = new byte[8]; for (int i = 0; i < 8; ++i) { if ((7 - i) < data.length) { newData[i] = data[i + data.length - 8]; } else { newData[i] = (byte) 0xFF; } } data = newData; } // Now just do the usual loop return rawDataToJLong(data); } public long dataToAddressValue(byte[] data) { checkDataContents(data, addressSize); if (!isBigEndian) { byteSwap(data); } return rawDataToJLong(data); } public byte[] jbooleanToData(boolean value) { byte[] res = new byte[1]; res[0] = (byte) (value ? 1 : 0); return res; } public byte[] jbyteToData(byte value) { byte[] res = new byte[1]; res[0] = value; return res; } public byte[] jcharToData(char value) { byte[] res = new byte[2]; res[0] = (byte) ((value >> 8) & 0xFF); res[1] = (byte) value; if (!isBigEndian) { byteSwap(res); } return res; } public byte[] jdoubleToData(double value) { return jlongToData(Double.doubleToLongBits(value)); } public byte[] jfloatToData(float value) { return jintToData(Float.floatToIntBits(value)); } public byte[] jintToData(int value) { byte[] res = new byte[4]; for (int i = 0; i < 4; i++) { res[3 - i] = (byte) (value & 0xFF); value >>>= 8; } if (!isBigEndian) { byteSwap(res); } return res; } public byte[] jlongToData(long value) { byte[] res = new byte[8]; for (int i = 0; i < 8; i++) { res[7 - i] = (byte) (value & 0xFF); value >>>= 8; } if (!isBigEndian) { byteSwap(res); } return res; } public byte[] jshortToData(short value) { byte[] res = new byte[2]; res[0] = (byte) ((value >> 8) & 0xFF); res[1] = (byte) value; if (!isBigEndian) { byteSwap(res); } return res; } public byte[] cIntegerToData(long longNumBytes, long value) { int numBytes = (int) longNumBytes; byte[] res = new byte[numBytes]; for (int i = 0; i < numBytes; i++) { res[numBytes - i - 1] = (byte) (value & 0xFF); value >>>= 8; } if (!isBigEndian) { byteSwap(res); } return res; } //-------------------------------------------------------------------------------- // Internals only below this point // private void checkDataContents(byte[] data, long len) { if (data.length != (int) len) { throw new InternalError("Bug in Win32Debugger"); } } private void byteSwap(byte[] data) { for (int i = 0; i < (data.length / 2); ++i) { int altIndex = data.length - i - 1; byte t = data[altIndex]; data[altIndex] = data[i]; data[i] = t; } } private long rawDataToJLong(byte[] data) { long addr = 0; for (int i = 0; i < data.length; ++i) { addr <<= 8; addr |= data[i] & 0xFF; } return addr; } }
⏎ sun/jvm/hotspot/debugger/DebuggerUtilities.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, 145390👍, 0💬
Popular Posts:
What is jxl.jar 2.6.12? jxl.jar 2.6.12 is the JAR file for Java Excel API 2.6.12, which is a Java li...
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms, it was develo...
JDK 1.1 source code directory contains Java source code for JDK 1.1 core classes: "C:\fyicenter\jdk-...
JDK 8 tools.jar is the JAR file for JDK 8 tools. It contains Java classes to support different JDK t...
JDK 17 java.xml.jmod is the JMOD file for JDK 17 XML (eXtensible Markup Language) module. JDK 17 XML...