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/memory/SymbolTable.java
/* * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * */ package sun.jvm.hotspot.memory; import java.io.*; import java.util.*; import sun.jvm.hotspot.debugger.*; import sun.jvm.hotspot.oops.*; import sun.jvm.hotspot.types.*; import sun.jvm.hotspot.runtime.*; import sun.jvm.hotspot.utilities.*; public class SymbolTable extends sun.jvm.hotspot.utilities.Hashtable { 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("SymbolTable"); theTableField = type.getAddressField("_the_table"); sharedTableField = type.getAddressField("_shared_table"); type = db.lookupType("RehashableSymbolHashtable"); seedField = type.getCIntegerField("_seed"); } // Fields private static AddressField theTableField; private static AddressField sharedTableField; private static CIntegerField seedField; private CompactHashTable sharedTable; // Accessors public static SymbolTable getTheTable() { Address tmp = theTableField.getValue(); SymbolTable table = (SymbolTable) VMObjectFactory.newObject(SymbolTable.class, tmp); Address shared = sharedTableField.getStaticFieldAddress(); table.sharedTable = (CompactHashTable)VMObjectFactory.newObject(CompactHashTable.class, shared); return table; } public CompactHashTable getSharedTable() { return sharedTable; } public static long getSeed() { return (long) seedField.getValue(); } public static boolean useAlternateHashcode() { if (getSeed() != 0) { return true; } return false; } public SymbolTable(Address addr) { super(addr); } /** Clone of VM's "temporary" probe routine, as the SA currently does not support mutation so lookup() would have no effect anyway. Returns null if the given string is not in the symbol table. */ public Symbol probe(String name) { try { return probe(toModifiedUTF8Bytes(name)); } catch (IOException e) { return null; } } /** Clone of VM's "temporary" probe routine, as the SA currently does not support mutation so lookup() would have no effect anyway. Searches the regular symbol table and the shared symbol table. Null is returned if the given name is not found in both tables. */ public Symbol probe(byte[] name) { long hashValue = hashSymbol(name); // shared table does not use alternate hashing algorithm, // it always uses the same original hash code. Symbol s = sharedTable.probe(name, hashValue); if (s != null) { return s; } if (useAlternateHashcode()) { hashValue = AltHashing.murmur3_32(getSeed(), name); } for (HashtableEntry e = (HashtableEntry) bucket(hashToIndex(hashValue)); e != null; e = (HashtableEntry) e.next()) { if (e.hash() == hashValue) { Symbol sym = Symbol.create(e.literalValue()); if (sym.equals(name)) { return sym; } } } return null; } public interface SymbolVisitor { public void visit(Symbol sym); } public void symbolsDo(SymbolVisitor visitor) { int numBuckets = tableSize(); for (int i = 0; i < numBuckets; i++) { for (HashtableEntry e = (HashtableEntry) bucket(i); e != null; e = (HashtableEntry) e.next()) { visitor.visit(Symbol.create(e.literalValue())); } } } private static byte[] toModifiedUTF8Bytes(String name) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); dos.writeUTF(name); dos.flush(); byte[] buf = baos.toByteArray(); byte[] res = new byte[buf.length - 2]; // skip the length part System.arraycopy(buf, 2, res, 0, res.length); return res; } }
⏎ sun/jvm/hotspot/memory/SymbolTable.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, 131890👍, 0💬
Popular Posts:
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms, it was develo...
How to download and install JDK (Java Development Kit) 7? If you want to write Java applications, yo...
Apache Log4j Core Implementation provides the functional components of the logging system. Users are...
ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify ex...
How to download and install JDK (Java Development Kit) 8? If you want to write Java applications, yo...