public class jdk.internal.misc.VM
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.misc.VM
super_class: java.lang.Object
{
private static final int JAVA_LANG_SYSTEM_INITED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int MODULE_SYSTEM_INITED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int SYSTEM_LOADER_INITIALIZING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int SYSTEM_BOOTED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static volatile int initLevel;
descriptor: I
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static final java.lang.Object lock;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static long directMemory;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean pageAlignDirectMemory;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.util.Map<java.lang.String, java.lang.String> savedProps;
descriptor: Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private static volatile int finalRefCount;
descriptor: I
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static volatile int peakFinalRefCount;
descriptor: I
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static final int JVMTI_THREAD_STATE_ALIVE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int JVMTI_THREAD_STATE_TERMINATED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int JVMTI_THREAD_STATE_RUNNABLE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
private static final int JVMTI_THREAD_STATE_WAITING_INDEFINITELY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic jdk.internal.misc.VM.lock:Ljava/lang/Object;
1: ldc 67108864
putstatic jdk.internal.misc.VM.directMemory:J
2: invokestatic jdk.internal.misc.VM.initialize:()V
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/misc/VM;
public static void initLevel(int);
descriptor: (I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic jdk.internal.misc.VM.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: iload 0
getstatic jdk.internal.misc.VM.initLevel:I
if_icmple 2
iload 0
iconst_4
if_icmple 3
2: StackMap locals: java.lang.Object
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Bad level: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
iload 0
putstatic jdk.internal.misc.VM.initLevel:I
4: getstatic jdk.internal.misc.VM.lock:Ljava/lang/Object;
invokevirtual java.lang.Object.notifyAll:()V
5: aload 1
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 1
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 value I
Exception table:
from to target type
1 6 7 any
7 8 7 any
MethodParameters:
Name Flags
value
public static int initLevel();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.internal.misc.VM.initLevel:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static void awaitInitLevel(int);
descriptor: (I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic jdk.internal.misc.VM.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: goto 3
2: StackMap locals: java.lang.Object
StackMap stack:
getstatic jdk.internal.misc.VM.lock:Ljava/lang/Object;
invokevirtual java.lang.Object.wait:()V
3: StackMap locals:
StackMap stack:
getstatic jdk.internal.misc.VM.initLevel:I
iload 0
if_icmplt 2
4: aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 value I
Exception table:
from to target type
1 5 6 any
6 7 6 any
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
value
public static boolean isModuleSystemInited();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic jdk.internal.misc.VM.initLevel:()I
iconst_2
if_icmplt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static boolean isBooted();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic jdk.internal.misc.VM.initLevel:I
iconst_4
if_icmplt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static long maxDirectMemory();
descriptor: ()J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic jdk.internal.misc.VM.directMemory:J
lreturn
LocalVariableTable:
Start End Slot Name Signature
public static boolean isDirectMemoryPageAligned();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.internal.misc.VM.pageAlignDirectMemory:Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static boolean isSystemDomainLoader(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokestatic java.lang.ClassLoader.getPlatformClassLoader:()Ljava/lang/ClassLoader;
if_acmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 loader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
loader
public static java.lang.String getSavedProperty(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic jdk.internal.misc.VM.savedProps:Ljava/util/Map;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "Not yet initialized"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic jdk.internal.misc.VM.savedProps:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 key Ljava/lang/String;
MethodParameters:
Name Flags
key
public static java.util.Map<java.lang.String, java.lang.String> getSavedProperties();
descriptor: ()Ljava/util/Map;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic jdk.internal.misc.VM.savedProps:Ljava/util/Map;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "Not yet initialized"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic jdk.internal.misc.VM.savedProps:Ljava/util/Map;
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
public static void saveAndRemoveProperties(java.util.Properties);
descriptor: (Ljava/util/Properties;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: invokestatic jdk.internal.misc.VM.initLevel:()I
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "Wrong init level"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.Properties.entrySet:()Ljava/util/Set;
iconst_0
anewarray java.util.Map$Entry
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.util.Map$Entry[]
invokestatic java.util.Map.ofEntries:([Ljava/util/Map$Entry;)Ljava/util/Map;
3: astore 1
start local 1 4: aload 1
putstatic jdk.internal.misc.VM.savedProps:Ljava/util/Map;
5: aload 0
ldc "sun.nio.MaxDirectMemorySize"
invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 6: aload 2
ifnull 13
7: aload 2
ldc "-1"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
8: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.maxMemory:()J
putstatic jdk.internal.misc.VM.directMemory:J
9: goto 13
10: StackMap locals: java.util.Map java.lang.String
StackMap stack:
aload 2
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 3
start local 3 11: lload 3
ldc -1
lcmp
ifle 13
12: lload 3
putstatic jdk.internal.misc.VM.directMemory:J
end local 3 13: StackMap locals:
StackMap stack:
aload 0
ldc "sun.nio.PageAlignDirectMemory"
invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
14: ldc "true"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
15: iconst_1
putstatic jdk.internal.misc.VM.pageAlignDirectMemory:Z
16: StackMap locals:
StackMap stack:
aload 0
ldc "java.lang.Integer.IntegerCache.high"
invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 0
ldc "sun.java.launcher.diag"
invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
18: aload 0
ldc "jdk.boot.class.path.append"
invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 props Ljava/util/Properties;
4 20 1 sp Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
6 20 2 s Ljava/lang/String;
11 13 3 l J
MethodParameters:
Name Flags
props
public static void initializeOSEnvironment();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic jdk.internal.misc.VM.initLevel:()I
ifne 2
1: invokestatic jdk.internal.misc.OSEnvironment.initialize:()V
2: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
public static int getFinalRefCount();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.internal.misc.VM.finalRefCount:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static int getPeakFinalRefCount();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.internal.misc.VM.peakFinalRefCount:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static void addFinalRefCount(int);
descriptor: (I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.internal.misc.VM.finalRefCount:I
iload 0
iadd
putstatic jdk.internal.misc.VM.finalRefCount:I
1: getstatic jdk.internal.misc.VM.finalRefCount:I
getstatic jdk.internal.misc.VM.peakFinalRefCount:I
if_icmple 3
2: getstatic jdk.internal.misc.VM.finalRefCount:I
putstatic jdk.internal.misc.VM.peakFinalRefCount:I
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 n I
MethodParameters:
Name Flags
n
public static java.lang.Thread$State toThreadState(int);
descriptor: (I)Ljava/lang/Thread$State;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_4
iand
ifeq 2
1: getstatic java.lang.Thread$State.RUNNABLE:Ljava/lang/Thread$State;
areturn
2: StackMap locals:
StackMap stack:
iload 0
sipush 1024
iand
ifeq 4
3: getstatic java.lang.Thread$State.BLOCKED:Ljava/lang/Thread$State;
areturn
4: StackMap locals:
StackMap stack:
iload 0
bipush 16
iand
ifeq 6
5: getstatic java.lang.Thread$State.WAITING:Ljava/lang/Thread$State;
areturn
6: StackMap locals:
StackMap stack:
iload 0
bipush 32
iand
ifeq 8
7: getstatic java.lang.Thread$State.TIMED_WAITING:Ljava/lang/Thread$State;
areturn
8: StackMap locals:
StackMap stack:
iload 0
iconst_2
iand
ifeq 10
9: getstatic java.lang.Thread$State.TERMINATED:Ljava/lang/Thread$State;
areturn
10: StackMap locals:
StackMap stack:
iload 0
iconst_1
iand
ifne 12
11: getstatic java.lang.Thread$State.NEW:Ljava/lang/Thread$State;
areturn
12: StackMap locals:
StackMap stack:
getstatic java.lang.Thread$State.RUNNABLE:Ljava/lang/Thread$State;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 threadStatus I
MethodParameters:
Name Flags
threadStatus
public static java.lang.ClassLoader latestUserDefinedLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: invokestatic jdk.internal.misc.VM.latestUserDefinedLoader0:()Ljava/lang/ClassLoader;
astore 0
start local 0 1: aload 0
ifnull 2
aload 0
goto 3
StackMap locals: java.lang.ClassLoader
StackMap stack:
2: invokestatic java.lang.ClassLoader.getPlatformClassLoader:()Ljava/lang/ClassLoader;
StackMap locals:
StackMap stack: java.lang.ClassLoader
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 loader Ljava/lang/ClassLoader;
private static native java.lang.ClassLoader latestUserDefinedLoader0();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
public static boolean isSetUID();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=0
0: invokestatic jdk.internal.misc.VM.getuid:()J
lstore 0
start local 0 1: invokestatic jdk.internal.misc.VM.geteuid:()J
lstore 2
start local 2 2: invokestatic jdk.internal.misc.VM.getgid:()J
lstore 4
start local 4 3: invokestatic jdk.internal.misc.VM.getegid:()J
lstore 6
start local 6 4: lload 0
lload 2
lcmp
ifne 5
lload 4
lload 6
lcmp
ifne 5
iconst_0
ireturn
StackMap locals: long long long long
StackMap stack:
5: iconst_1
ireturn
end local 6 end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 6 0 uid J
2 6 2 euid J
3 6 4 gid J
4 6 6 egid J
public static native long getuid();
descriptor: ()J
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
public static native long geteuid();
descriptor: ()J
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
public static native long getgid();
descriptor: ()J
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
public static native long getegid();
descriptor: ()J
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
public static native long getNanoTimeAdjustment(long);
descriptor: (J)J
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
offsetInSeconds
public static native java.lang.String[] getRuntimeArguments();
descriptor: ()[Ljava/lang/String;
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
private static native void initialize();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
}
SourceFile: "VM.java"
InnerClasses:
public final State = java.lang.Thread$State of java.lang.Thread
public abstract Entry = java.util.Map$Entry of java.util.Map