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/interpreter/OopMapCacheEntry.java
/*
* Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package sun.jvm.hotspot.interpreter;
import sun.jvm.hotspot.oops.*;
import sun.jvm.hotspot.utilities.*;
public class OopMapCacheEntry {
// Iteration
public boolean isValue(int offset) { return !entryAt(offset); }
public boolean isOop (int offset) { return entryAt(offset); }
public void iterateOop(OffsetClosure oopClosure) {
int n = numberOfEntries();
for (int i = 0; i < n; i++) {
if (entryAt(i)) {
oopClosure.offsetDo(i);
}
}
}
// Initialization
public void fill(Method method, int bci) {
this.method = method;
this.bci = bci;
if (method.isNative()) {
// Native method activations have oops only among the parameters and one
// extra oop following the parameters (the mirror for static native methods).
fillForNative();
} else {
OopMapForCacheEntry gen = new OopMapForCacheEntry(method, bci, this);
gen.computeMap();
}
}
public void setMask(CellTypeStateList vars,
CellTypeStateList stack,
int stackTop) {
// compute bit mask size
int maxLocals = (int) method.getMaxLocals();
int nEntries = maxLocals + stackTop;
maskSize = nEntries;
allocateBitMask();
CellTypeStateList curList = vars;
int listIdx = 0;
for (int entryIdx = 0; entryIdx < nEntries; entryIdx++, listIdx++) {
// switch to stack when done with locals
if (entryIdx == maxLocals) {
curList = stack;
listIdx = 0;
}
CellTypeState cell = curList.get(listIdx);
// set oop bit
if ( cell.isReference()) {
mask.atPut(entryIdx, true);
}
}
// verify bit mask
if (Assert.ASSERTS_ENABLED) {
Assert.that(verifyMask(vars, stack, maxLocals, stackTop), "mask could not be verified");
}
}
//----------------------------------------------------------------------
// Internals only below this point
//
private Method method; // the method for which the mask is valid
private int bci; // the bci for which the mask is valid
private int maskSize; // the required mask size in bits
private BitMap mask; // may be null if mask is empty
Method method() { return method; }
int bci() { return bci; }
int numberOfEntries() { return maskSize; }
boolean entryAt(int offset) {
return mask.at(offset);
}
void setEmptyMask() { mask = null; }
void allocateBitMask() {
if (maskSize > 0) {
mask = new BitMap(maskSize);
}
}
// fills the bit mask for native calls
void fillForNative() {
if (Assert.ASSERTS_ENABLED) {
Assert.that(method.isNative(), "method must be native method");
}
maskSize = (int) method.getSizeOfParameters();
allocateBitMask();
// fill mask for parameters
MaskFillerForNative mf = new MaskFillerForNative(method, mask, maskSize);
mf.generate();
}
static class VerifyClosure implements OffsetClosure {
private OopMapCacheEntry entry;
private boolean failed;
VerifyClosure(OopMapCacheEntry entry) { this.entry = entry; }
public void offsetDo(int offset) { if (!entry.isOop(offset)) failed = true; }
boolean failed() { return failed; }
}
boolean verifyMask(CellTypeStateList vars, CellTypeStateList stack, int maxLocals, int stackTop) {
// Check mask includes map
VerifyClosure blk = new VerifyClosure(this);
iterateOop(blk);
if (blk.failed()) return false;
// Check if map is generated correctly
for(int i = 0; i < maxLocals; i++) {
boolean v1 = isOop(i);
boolean v2 = vars.get(i).isReference();
if (Assert.ASSERTS_ENABLED) {
Assert.that(v1 == v2, "locals oop mask generation error");
}
}
for(int j = 0; j < stackTop; j++) {
boolean v1 = isOop(maxLocals + j);
boolean v2 = stack.get(j).isReference();
if (Assert.ASSERTS_ENABLED) {
Assert.that(v1 == v2, "stack oop mask generation error");
}
}
return true;
}
}
⏎ sun/jvm/hotspot/interpreter/OopMapCacheEntry.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, ≈100🔥, 0💬
Popular Posts:
JDK 17 java.rmi.jmod is the JMOD file for JDK 17 RMI (Remote Method Invocation) module. JDK 17 RMI m...
JSP(tm) Standard Tag Library 1.1 implementation - Jakarta Taglibs hosts the Standard Taglib 1.1, an ...
JDOM provides a solution for using XML from Java that is as simple as Java itself. There is no compe...
JDK 11 jdk.scripting.nashorn.jm odis the JMOD file for JDK 11 Scripting Nashorn module. JDK 11 Scrip...
commons-net.jar is the bytecode of Apache Commons Net library, which implements the client side of m...