public class sun.misc.VM
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.misc.VM
super_class: java.lang.Object
{
private static boolean suspended;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public static final int STATE_GREEN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final int STATE_YELLOW;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final int STATE_RED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
RuntimeVisibleAnnotations:
java.lang.Deprecated()
private static volatile boolean booted;
descriptor: Z
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static long directMemory;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean defaultAllowArraySyntax;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean allowArraySyntax;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.util.Properties savedProps;
descriptor: Ljava/util/Properties;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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 java.util.Map<java.lang.Integer, java.lang.Thread$State> threadStateMap;
descriptor: Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Thread$State;>;
private static java.util.Map<java.lang.Integer, java.lang.String> threadStateNames;
descriptor: Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: iconst_0
putstatic sun.misc.VM.suspended:Z
1: iconst_0
putstatic sun.misc.VM.booted:Z
2: ldc 67108864
putstatic sun.misc.VM.directMemory:J
3: iconst_0
putstatic sun.misc.VM.defaultAllowArraySyntax:Z
4: getstatic sun.misc.VM.defaultAllowArraySyntax:Z
putstatic sun.misc.VM.allowArraySyntax:Z
5: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
putstatic sun.misc.VM.savedProps:Ljava/util/Properties;
6: iconst_0
putstatic sun.misc.VM.finalRefCount:I
7: iconst_0
putstatic sun.misc.VM.peakFinalRefCount:I
8: aconst_null
putstatic sun.misc.VM.threadStateMap:Ljava/util/Map;
9: aconst_null
putstatic sun.misc.VM.threadStateNames:Ljava/util/Map;
10: invokestatic sun.misc.VM.initialize:()V
11: 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 Lsun/misc/VM;
public static boolean threadsSuspended();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.misc.VM.suspended:Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
public static boolean allowThreadSuspension(java.lang.ThreadGroup, boolean);
descriptor: (Ljava/lang/ThreadGroup;Z)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual java.lang.ThreadGroup.allowThreadSuspension:(Z)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 g Ljava/lang/ThreadGroup;
0 1 1 b Z
MethodParameters:
Name Flags
g
b
public static boolean suspendThreads();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_1
putstatic sun.misc.VM.suspended:Z
1: iconst_1
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
public static void unsuspendThreads();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
putstatic sun.misc.VM.suspended:Z
1: return
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static void unsuspendSomeThreads();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: return
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final int getState();
descriptor: ()I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=1, locals=0, args_size=0
0: iconst_1
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
public static void registerVMNotification(sun.misc.VMNotification);
descriptor: (Lsun/misc/VMNotification;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 n Lsun/misc/VMNotification;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
n
public static void asChange(int, int);
descriptor: (II)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 as_old I
0 1 1 as_new I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
as_old
as_new
public static void asChange_otherthread(int, int);
descriptor: (II)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 as_old I
0 1 1 as_new I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
as_old
as_new
public static void booted();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_1
putstatic sun.misc.VM.booted:Z
1: return
LocalVariableTable:
Start End Slot Name Signature
public static boolean isBooted();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.misc.VM.booted:Z
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 sun.misc.VM.directMemory:J
lreturn
LocalVariableTable:
Start End Slot Name Signature
public static boolean allowArraySyntax();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.misc.VM.allowArraySyntax:Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
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 sun.misc.VM.savedProps:Ljava/util/Properties;
invokevirtual java.util.Properties.isEmpty:()Z
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "Should be non-empty if initialized"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic sun.misc.VM.savedProps:Ljava/util/Properties;
aload 0
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/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 void saveAndRemoveProperties(java.util.Properties);
descriptor: (Ljava/util/Properties;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: getstatic sun.misc.VM.booted:Z
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "System initialization has completed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic sun.misc.VM.savedProps:Ljava/util/Properties;
aload 0
invokevirtual java.util.Properties.putAll:(Ljava/util/Map;)V
3: aload 0
ldc "sun.nio.MaxDirectMemorySize"
invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 4: aload 1
ifnull 11
5: aload 1
ldc "-1"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.maxMemory:()J
putstatic sun.misc.VM.directMemory:J
7: goto 11
8: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 2
start local 2 9: lload 2
ldc -1
lcmp
ifle 11
10: lload 2
putstatic sun.misc.VM.directMemory:J
end local 2 11: StackMap locals:
StackMap stack:
aload 0
ldc "sun.lang.ClassLoader.allowArraySyntax"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
12: aload 1
ifnonnull 14
13: getstatic sun.misc.VM.defaultAllowArraySyntax:Z
goto 15
14: StackMap locals:
StackMap stack:
aload 1
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
15: StackMap locals:
StackMap stack: int
putstatic sun.misc.VM.allowArraySyntax:Z
16: 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.zip.disableMemoryMapping"
invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
18: aload 0
ldc "sun.java.launcher.diag"
invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
19: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 props Ljava/util/Properties;
4 20 1 s Ljava/lang/String;
9 11 2 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: getstatic sun.misc.VM.booted:Z
ifne 2
1: invokestatic sun.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 sun.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 sun.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 sun.misc.VM.finalRefCount:I
iload 0
iadd
putstatic sun.misc.VM.finalRefCount:I
1: getstatic sun.misc.VM.finalRefCount:I
getstatic sun.misc.VM.peakFinalRefCount:I
if_icmple 3
2: getstatic sun.misc.VM.finalRefCount:I
putstatic sun.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=2, args_size=1
start local 0 0: invokestatic sun.misc.VM.initThreadStateMap:()V
1: getstatic sun.misc.VM.threadStateMap:Ljava/util/Map;
iload 0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Thread$State
astore 1
start local 1 2: aload 1
ifnonnull 4
3: getstatic java.lang.Thread$State.RUNNABLE:Ljava/lang/Thread$State;
astore 1
4: StackMap locals: java.lang.Thread$State
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 threadStatus I
2 5 1 s Ljava/lang/Thread$State;
MethodParameters:
Name Flags
threadStatus
private static synchronized void initThreadStateMap();
descriptor: ()V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=8, args_size=0
0: getstatic sun.misc.VM.threadStateMap:Ljava/util/Map;
ifnull 2
1: return
2: StackMap locals:
StackMap stack:
invokestatic java.lang.Thread$State.values:()[Ljava/lang/Thread$State;
astore 0
start local 0 3: aload 0
arraylength
anewarray int[]
astore 1
start local 1 4: aload 0
arraylength
anewarray java.lang.String[]
astore 2
start local 2 5: aload 1
aload 2
invokestatic sun.misc.VM.getThreadStateValues:([[I[[Ljava/lang/String;)V
6: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic sun.misc.VM.threadStateMap:Ljava/util/Map;
7: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic sun.misc.VM.threadStateNames:Ljava/util/Map;
8: iconst_0
istore 3
start local 3 9: goto 35
10: StackMap locals: java.lang.Thread$State[] int[][] java.lang.String[][] int
StackMap stack:
aload 0
iload 3
aaload
invokevirtual java.lang.Thread$State.name:()Ljava/lang/String;
astore 4
start local 4 11: aconst_null
astore 5
start local 5 12: aconst_null
astore 6
start local 6 13: iconst_0
istore 7
start local 7 14: goto 19
15: StackMap locals: java.lang.Thread$State[] int[][] java.lang.String[][] int java.lang.String int[] java.lang.String[] int
StackMap stack:
aload 2
iload 7
aaload
iconst_0
aaload
aload 4
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 18
16: aload 1
iload 7
aaload
astore 5
17: aload 2
iload 7
aaload
astore 6
18: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
19: iload 7
aload 0
arraylength
if_icmplt 15
end local 7 20: aload 5
ifnonnull 24
21: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "No VM thread state mapped to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
aload 5
arraylength
aload 6
arraylength
if_icmpeq 28
25: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "VM thread state values and names mapped to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
26: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": length not matched"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 29: goto 33
30: StackMap locals: int
StackMap stack:
getstatic sun.misc.VM.threadStateMap:Ljava/util/Map;
aload 5
iload 7
iaload
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 0
iload 3
aaload
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
31: getstatic sun.misc.VM.threadStateNames:Ljava/util/Map;
aload 5
iload 7
iaload
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 6
iload 7
aaload
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
32: iinc 7 1
StackMap locals:
StackMap stack:
33: iload 7
aload 5
arraylength
if_icmplt 30
end local 7 end local 6 end local 5 end local 4 34: iinc 3 1
StackMap locals: java.lang.Thread$State[] int[][] java.lang.String[][] int
StackMap stack:
35: iload 3
aload 0
arraylength
if_icmplt 10
end local 3 36: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
3 37 0 ts [Ljava/lang/Thread$State;
4 37 1 vmThreadStateValues [[I
5 37 2 vmThreadStateNames [[Ljava/lang/String;
9 36 3 i I
11 34 4 state Ljava/lang/String;
12 34 5 values [I
13 34 6 names [Ljava/lang/String;
14 20 7 j I
29 34 7 k I
private static native void getThreadStateValues(int[][], java.lang.String[][]);
descriptor: ([[I[[Ljava/lang/String;)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
vmThreadStateValues
vmThreadStateNames
public static native java.lang.ClassLoader latestUserDefinedLoader0();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
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 sun.misc.VM.latestUserDefinedLoader0:()Ljava/lang/ClassLoader;
astore 0
start local 0 1: aload 0
ifnull 3
2: aload 0
areturn
3: StackMap locals: java.lang.ClassLoader
StackMap stack:
invokestatic sun.misc.Launcher$ExtClassLoader.getExtClassLoader:()Lsun/misc/Launcher$ExtClassLoader;
4: areturn
5: StackMap locals:
StackMap stack: java.io.IOException
pop
6: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 7 0 loader Ljava/lang/ClassLoader;
Exception table:
from to target type
3 4 5 Class java.io.IOException
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
ExtClassLoader = sun.misc.Launcher$ExtClassLoader of sun.misc.Launcher