class java.lang.invoke.DirectMethodHandle$EnsureInitialized extends java.lang.ClassValue<java.lang.ref.WeakReference<java.lang.Thread>>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.lang.invoke.DirectMethodHandle$EnsureInitialized
super_class: java.lang.ClassValue
{
static final java.lang.invoke.DirectMethodHandle$EnsureInitialized INSTANCE;
descriptor: Ljava/lang/invoke/DirectMethodHandle$EnsureInitialized;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.invoke.DirectMethodHandle$EnsureInitialized
dup
invokespecial java.lang.invoke.DirectMethodHandle$EnsureInitialized.<init>:()V
putstatic java.lang.invoke.DirectMethodHandle$EnsureInitialized.INSTANCE:Ljava/lang/invoke/DirectMethodHandle$EnsureInitialized;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.ClassValue.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/DirectMethodHandle$EnsureInitialized;
protected java.lang.ref.WeakReference<java.lang.Thread> computeValue(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/ref/WeakReference;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
aload 1
invokevirtual sun.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
1: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
aload 1
invokevirtual sun.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
ifeq 3
2: new java.lang.ref.WeakReference
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
areturn
3: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/invoke/DirectMethodHandle$EnsureInitialized;
0 4 1 type Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/ref/WeakReference<Ljava/lang/Thread;>;
MethodParameters:
Name Flags
type
protected java.lang.Object computeValue(java.lang.Class);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual java.lang.invoke.DirectMethodHandle$EnsureInitialized.computeValue:(Ljava/lang/Class;)Ljava/lang/ref/WeakReference;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/ClassValue<Ljava/lang/ref/WeakReference<Ljava/lang/Thread;>;>;
SourceFile: "DirectMethodHandle.java"
NestHost: java.lang.invoke.DirectMethodHandle
InnerClasses:
private EnsureInitialized = java.lang.invoke.DirectMethodHandle$EnsureInitialized of java.lang.invoke.DirectMethodHandle