| Modifier and Type | Class and Description |
|---|---|
| private static class | CDS.
This class is used only by native JVM code to spawn a child JVM process to assemble the AOT cache. |
| private static class | CDS.
This class is used only by native JVM code at CDS dump time for loading "unregistered classes", which are archived classes that are intended to be loaded by custom class loaders during runtime. |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv static final String | |
| private static final int | |
| pack-priv static final String | |
| pack-priv static final String | |
| private static String[] | |
| pack-priv static final String | |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final int | |
| private static ArrayList |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private static boolean | |
| public static native void | defineArchivedModules(ClassLoader platformLoader, ClassLoader systemLoader)
Ensure that the native representation of all archived java.lang.Module objects are properly restored. |
| private static String | |
| private static native void | |
| private static native void | |
| private static String | Returns: The archive name if successfully dumped.true for dump static archive or false for dynnamic archive. isStatic, String user input archive name, can be null. fileName)called from jcmd VM.cds to dump static or dynamic shared archive |
| private static Object[] | Returns: Object[] if holder classes can be generated.in format of LF_RESOLVE or SPECIES_RESOLVE output lines)called from vm to generate MethodHandle holder classes |
| private static native int | |
| private static Object[] | |
| public static native long | getRandomSeedForDumping()
Returns a predictable "random" seed derived from the VM's build ID and version, to be used by java.util.ImmutableCollections to ensure that archived ImmutableCollections are always sorted the same order for the same VM build. |
| public static native void | initializeFromArchive(Class<?> c)
Initialize archived static fields in the given Class using archived values from CDS dump time. |
| private static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| private static boolean | |
| private static boolean | |
| public static void | |
| private static native void | |
| public static void | logLambdaFormInvoker(String prefix, String holder, String name, String type)
log lambda form invoker holder, name and method type |
| public static void | |
| public static boolean | Returns: false only if a call toensureClassInitialized would have
no effect during the application's production run.Detects if we need to emit explicit class initialization checks in AOT-cached MethodHandles and VarHandles before accessing static fields and methods. |
| private static native boolean | |
| private static void |
| BASIC_FORMS_HOLDER_CLASS_NAME | back to summary |
|---|---|
| pack-priv static final String BASIC_FORMS_HOLDER_CLASS_NAME | |
| configStatus | back to summary |
|---|---|
| private static final int configStatus | |
| DELEGATING_HOLDER_CLASS_NAME | back to summary |
|---|---|
| pack-priv static final String DELEGATING_HOLDER_CLASS_NAME | |
| DIRECT_HOLDER_CLASS_NAME | back to summary |
|---|---|
| pack-priv static final String DIRECT_HOLDER_CLASS_NAME | |
| excludeFlags | back to summary |
|---|---|
| private static String[] excludeFlags | |
| INVOKERS_HOLDER_CLASS_NAME | back to summary |
|---|---|
| pack-priv static final String INVOKERS_HOLDER_CLASS_NAME | |
| IS_DUMPING_AOT_LINKED_CLASSES | back to summary |
|---|---|
| private static final int IS_DUMPING_AOT_LINKED_CLASSES | |
| IS_DUMPING_ARCHIVE | back to summary |
|---|---|
| private static final int IS_DUMPING_ARCHIVE | |
| IS_DUMPING_METHOD_HANDLES | back to summary |
|---|---|
| private static final int IS_DUMPING_METHOD_HANDLES | |
| IS_DUMPING_STATIC_ARCHIVE | back to summary |
|---|---|
| private static final int IS_DUMPING_STATIC_ARCHIVE | |
| IS_LOGGING_LAMBDA_FORM_INVOKERS | back to summary |
|---|---|
| private static final int IS_LOGGING_LAMBDA_FORM_INVOKERS | |
| IS_USING_ARCHIVE | back to summary |
|---|---|
| private static final int IS_USING_ARCHIVE | |
| keepAliveList | back to summary |
|---|---|
| private static ArrayList<Object> keepAliveList | |
| CDS | back to summary |
|---|---|
| public CDS() | |
| containsExcludedFlags | back to summary |
|---|---|
| private static boolean containsExcludedFlags(String testStr) | |
| defineArchivedModules | back to summary |
|---|---|
| public static native void defineArchivedModules(ClassLoader platformLoader, ClassLoader systemLoader) Ensure that the native representation of all archived java.lang.Module objects are properly restored. | |
| drainOutput | back to summary |
|---|---|
| private static String drainOutput(InputStream stream, long pid, String tail, List<String> cmds) | |
| dumpClassList | back to summary |
|---|---|
| private static native void dumpClassList(String listFileName) | |
| dumpDynamicArchive | back to summary |
|---|---|
| private static native void dumpDynamicArchive(String archiveFileName) | |
| dumpSharedArchive | back to summary |
|---|---|
| private static String dumpSharedArchive(boolean isStatic, String fileName) throws Exception called from jcmd VM.cds to dump static or dynamic shared archive | |
| generateLambdaFormHolderClasses | back to summary |
|---|---|
| private static Object[] generateLambdaFormHolderClasses(String[] lines) called from vm to generate MethodHandle holder classes | |
| getCDSConfigStatus | back to summary |
|---|---|
| private static native int getCDSConfigStatus() | |
| getKeepAliveObjects | back to summary |
|---|---|
| private static Object[] getKeepAliveObjects() | |
| getRandomSeedForDumping | back to summary |
|---|---|
| public static native long getRandomSeedForDumping() Returns a predictable "random" seed derived from the VM's build ID and version, to be used by java.util.ImmutableCollections to ensure that archived ImmutableCollections are always sorted the same order for the same VM build. | |
| initializeFromArchive | back to summary |
|---|---|
| public static native void initializeFromArchive(Class<?> c) Initialize archived static fields in the given Class using archived values from CDS dump time. Also initialize the classes of objects in the archived graph referenced by those fields. Those static fields remain as uninitialized if there is no mapped CDS java heap data or there is any error during initialization of the object class in the archived graph. | |
| isBasicTypeChar | back to summary |
|---|---|
| private static boolean isBasicTypeChar(char c) | |
| isDumpingAOTLinkedClasses | back to summary |
|---|---|
| public static boolean isDumpingAOTLinkedClasses() | |
| isDumpingArchive | back to summary |
|---|---|
| public static boolean isDumpingArchive() Is the VM writing to a (static or dynamic) CDS archive. | |
| isDumpingStaticArchive | back to summary |
|---|---|
| public static boolean isDumpingStaticArchive() Is dumping static archive. | |
| isLoggingLambdaFormInvokers | back to summary |
|---|---|
| public static boolean isLoggingLambdaFormInvokers() Should we log the use of lambda form invokers? | |
| isSingleThreadVM | back to summary |
|---|---|
| public static boolean isSingleThreadVM() | |
| isUsingArchive | back to summary |
|---|---|
| public static boolean isUsingArchive() Is the VM using at least one CDS archive? | |
| isValidHolderName | back to summary |
|---|---|
| private static boolean isValidHolderName(String name) | |
| isValidMethodType | back to summary |
|---|---|
| private static boolean isValidMethodType(String type) | |
| keepAlive | back to summary |
|---|---|
| public static void keepAlive(Object s) | |
| logLambdaFormInvoker | back to summary |
|---|---|
| private static native void logLambdaFormInvoker(String line) | |
| logLambdaFormInvoker | back to summary |
|---|---|
| public static void logLambdaFormInvoker(String prefix, String holder, String name, String type) log lambda form invoker holder, name and method type | |
| logSpeciesType | back to summary |
|---|---|
| public static void logSpeciesType(String prefix, String cn) log species | |
| needsClassInitBarrier | back to summary |
|---|---|
| public static boolean needsClassInitBarrier(Class<?> c) Detects if we need to emit explicit class initialization checks in AOT-cached MethodHandles and VarHandles before accessing static fields and methods.
| |
| needsClassInitBarrier0 | back to summary |
|---|---|
| private static native boolean needsClassInitBarrier0(Class<?> c) | |
| validateInputLines | back to summary |
|---|---|
| private static void validateInputLines(String[] lines) | |
args[] are passed in the JAVA_TOOL_OPTIONS
environment variable.
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv static int |
| ProcessLauncher | back to summary |
|---|---|
| private ProcessLauncher() | |
| execWithJavaToolOptions | back to summary |
|---|---|
| pack-priv static int execWithJavaToolOptions(String javaLauncher, String[] args) throws IOException, InterruptedException | |
| Modifier and Type | Class and Description |
|---|---|
| pack-priv static class | |
| pack-priv static class | |
| pack-priv static interface |
| Modifier and Type | Field and Description |
|---|---|
| private final HashMap |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| private Class | |
| private CDS. |
| sources | back to summary |
|---|---|
| private final HashMap<String, CDS. | |
| UnregisteredClassLoader | back to summary |
|---|---|
| private UnregisteredClassLoader() | |
| load | back to summary |
|---|---|
| private Class Load the class of the given All super classes and interfaces of the named class must have already been loaded: either defined by this class loader (unregistered ones) or loaded, possibly indirectly, by the system class loader (registered ones). If the named class has a registered super class or interface named N there should be no unregistered class or interface named N loaded yet. | |
| resolveSource | back to summary |
|---|---|
| private CDS. | |
| Modifier and Type | Method and Description |
|---|---|
| public byte[] | readClassFile(String className)
Implements jdk.
|
| basePath | back to summary |
|---|---|
| private final String basePath | |
| DirSource | back to summary |
|---|---|
| pack-priv DirSource(File dir) | |
| readClassFile | back to summary |
|---|---|
| public byte[] readClassFile(String className) throws IOException Implements jdk.
| |
| Modifier and Type | Method and Description |
|---|---|
| public byte[] | readClassFile(String className)
Implements jdk.
|
| jar | back to summary |
|---|---|
| private final JarFile jar | |
| JarSource | back to summary |
|---|---|
| pack-priv JarSource(File file) throws IOException | |
| readClassFile | back to summary |
|---|---|
| public byte[] readClassFile(String className) throws IOException Implements jdk.
| |
| Modifier and Type | Method and Description |
|---|---|
| public byte[] |
| readClassFile | back to summary |
|---|---|
| public byte[] readClassFile(String className) throws IOException | |