public final class org.openjdk.jmh.infra.Blackhole extends org.openjdk.jmh.infra.BlackholeL4
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.openjdk.jmh.infra.Blackhole
super_class: org.openjdk.jmh.infra.BlackholeL4
{
private static volatile long consumedCPU;
descriptor: J
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: ldc Lorg/openjdk/jmh/infra/Blackhole;
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "b1"
aastore
dup
iconst_1
ldc "b2"
aastore
invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
1: ldc Lorg/openjdk/jmh/infra/Blackhole;
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "bool1"
aastore
dup
iconst_1
ldc "bool2"
aastore
invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
2: ldc Lorg/openjdk/jmh/infra/Blackhole;
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "c1"
aastore
dup
iconst_1
ldc "c2"
aastore
invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
3: ldc Lorg/openjdk/jmh/infra/Blackhole;
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "s1"
aastore
dup
iconst_1
ldc "s2"
aastore
invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
4: ldc Lorg/openjdk/jmh/infra/Blackhole;
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "i1"
aastore
dup
iconst_1
ldc "i2"
aastore
invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
5: ldc Lorg/openjdk/jmh/infra/Blackhole;
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "l1"
aastore
dup
iconst_1
ldc "l2"
aastore
invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
6: ldc Lorg/openjdk/jmh/infra/Blackhole;
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "f1"
aastore
dup
iconst_1
ldc "f2"
aastore
invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
7: ldc Lorg/openjdk/jmh/infra/Blackhole;
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "d1"
aastore
dup
iconst_1
ldc "d2"
aastore
invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;[Ljava/lang/String;)V
8: ldc Lorg/openjdk/jmh/infra/Blackhole;
ldc "obj1"
invokestatic org.openjdk.jmh.util.Utils.check:(Ljava/lang/Class;Ljava/lang/String;)V
9: invokestatic java.lang.System.nanoTime:()J
putstatic org.openjdk.jmh.infra.Blackhole.consumedCPU:J
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.openjdk.jmh.infra.BlackholeL4.<init>:()V
1: aload 1
ldc "Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
2: new java.lang.IllegalStateException
dup
ldc "Blackholes should not be instantiated directly."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.openjdk.jmh.infra.Blackhole java.lang.String
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/openjdk/jmh/infra/Blackhole;
0 4 1 challengeResponse Ljava/lang/String;
MethodParameters:
Name Flags
challengeResponse
public void evaporate(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "Yes, I am Stephen Hawking, and know a thing or two about black holes."
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "Who are you?"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.openjdk.jmh.infra.Blackhole.obj1:Ljava/lang/Object;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/openjdk/jmh/infra/Blackhole;
0 4 1 challengeResponse Ljava/lang/String;
MethodParameters:
Name Flags
challengeResponse
public final void consume(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.openjdk.jmh.infra.Blackhole.tlrMask:I
istore 2
start local 2 1: aload 0
aload 0
getfield org.openjdk.jmh.infra.Blackhole.tlr:I
ldc 1664525
imul
ldc 1013904223
iadd
dup_x1
putfield org.openjdk.jmh.infra.Blackhole.tlr:I
istore 3
start local 3 2: iload 3
iload 2
iand
ifne 5
3: aload 0
new java.lang.ref.WeakReference
dup
aload 1
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield org.openjdk.jmh.infra.Blackhole.obj1:Ljava/lang/Object;
4: aload 0
iload 2
iconst_1
ishl
iconst_1
iadd
putfield org.openjdk.jmh.infra.Blackhole.tlrMask:I
5: StackMap locals: int int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/openjdk/jmh/infra/Blackhole;
0 6 1 obj Ljava/lang/Object;
1 6 2 tlrMask I
2 6 3 tlr I
MethodParameters:
Name Flags
obj
public final void consume(byte);
descriptor: (B)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.openjdk.jmh.infra.Blackhole.b1:B
istore 2
start local 2 1: aload 0
getfield org.openjdk.jmh.infra.Blackhole.b2:B
istore 3
start local 3 2: iload 1
iload 2
ixor
iload 1
iload 3
ixor
if_icmpne 4
3: aload 0
getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
iload 1
putfield org.openjdk.jmh.infra.BlackholeL2.b1:B
4: StackMap locals: int int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/openjdk/jmh/infra/Blackhole;
0 5 1 b B
1 5 2 b1 B
2 5 3 b2 B
MethodParameters:
Name Flags
b
public final void consume(boolean);
descriptor: (Z)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.openjdk.jmh.infra.Blackhole.bool1:Z
istore 2
start local 2 1: aload 0
getfield org.openjdk.jmh.infra.Blackhole.bool2:Z
istore 3
start local 3 2: iload 1
iload 2
ixor
iload 1
iload 3
ixor
if_icmpne 4
3: aload 0
getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
iload 1
putfield org.openjdk.jmh.infra.BlackholeL2.bool1:Z
4: StackMap locals: int int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/openjdk/jmh/infra/Blackhole;
0 5 1 bool Z
1 5 2 bool1 Z
2 5 3 bool2 Z
MethodParameters:
Name Flags
bool
public final void consume(char);
descriptor: (C)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.openjdk.jmh.infra.Blackhole.c1:C
istore 2
start local 2 1: aload 0
getfield org.openjdk.jmh.infra.Blackhole.c2:C
istore 3
start local 3 2: iload 1
iload 2
ixor
iload 1
iload 3
ixor
if_icmpne 4
3: aload 0
getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
iload 1
putfield org.openjdk.jmh.infra.BlackholeL2.c1:C
4: StackMap locals: int int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/openjdk/jmh/infra/Blackhole;
0 5 1 c C
1 5 2 c1 C
2 5 3 c2 C
MethodParameters:
Name Flags
c
public final void consume(short);
descriptor: (S)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.openjdk.jmh.infra.Blackhole.s1:S
istore 2
start local 2 1: aload 0
getfield org.openjdk.jmh.infra.Blackhole.s2:S
istore 3
start local 3 2: iload 1
iload 2
ixor
iload 1
iload 3
ixor
if_icmpne 4
3: aload 0
getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
iload 1
putfield org.openjdk.jmh.infra.BlackholeL2.s1:S
4: StackMap locals: int int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/openjdk/jmh/infra/Blackhole;
0 5 1 s S
1 5 2 s1 S
2 5 3 s2 S
MethodParameters:
Name Flags
s
public final void consume(int);
descriptor: (I)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.openjdk.jmh.infra.Blackhole.i1:I
istore 2
start local 2 1: aload 0
getfield org.openjdk.jmh.infra.Blackhole.i2:I
istore 3
start local 3 2: iload 1
iload 2
ixor
iload 1
iload 3
ixor
if_icmpne 4
3: aload 0
getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
iload 1
putfield org.openjdk.jmh.infra.BlackholeL2.i1:I
4: StackMap locals: int int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/openjdk/jmh/infra/Blackhole;
0 5 1 i I
1 5 2 i1 I
2 5 3 i2 I
MethodParameters:
Name Flags
i
public final void consume(long);
descriptor: (J)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.openjdk.jmh.infra.Blackhole.l1:J
lstore 3
start local 3 1: aload 0
getfield org.openjdk.jmh.infra.Blackhole.l2:J
lstore 5
start local 5 2: lload 1
lload 3
lxor
lload 1
lload 5
lxor
lcmp
ifne 4
3: aload 0
getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
lload 1
putfield org.openjdk.jmh.infra.BlackholeL2.l1:J
4: StackMap locals: long long
StackMap stack:
return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/openjdk/jmh/infra/Blackhole;
0 5 1 l J
1 5 3 l1 J
2 5 5 l2 J
MethodParameters:
Name Flags
l
public final void consume(float);
descriptor: (F)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.openjdk.jmh.infra.Blackhole.f1:F
fstore 2
start local 2 1: aload 0
getfield org.openjdk.jmh.infra.Blackhole.f2:F
fstore 3
start local 3 2: fload 1
fload 2
fcmpl
ifne 3
iconst_1
goto 4
StackMap locals: float float
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: fload 1
fload 3
fcmpl
ifne 5
iconst_1
goto 6
StackMap locals:
StackMap stack: int
5: iconst_0
StackMap locals: org.openjdk.jmh.infra.Blackhole float float float
StackMap stack: int int
6: iand
ifeq 8
7: aload 0
getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
fload 1
putfield org.openjdk.jmh.infra.BlackholeL2.f1:F
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/openjdk/jmh/infra/Blackhole;
0 9 1 f F
1 9 2 f1 F
2 9 3 f2 F
MethodParameters:
Name Flags
f
public final void consume(double);
descriptor: (D)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.openjdk.jmh.infra.Blackhole.d1:D
dstore 3
start local 3 1: aload 0
getfield org.openjdk.jmh.infra.Blackhole.d2:D
dstore 5
start local 5 2: dload 1
dload 3
dcmpl
ifne 3
iconst_1
goto 4
StackMap locals: double double
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: dload 1
dload 5
dcmpl
ifne 5
iconst_1
goto 6
StackMap locals:
StackMap stack: int
5: iconst_0
StackMap locals: org.openjdk.jmh.infra.Blackhole double double double
StackMap stack: int int
6: iand
ifeq 8
7: aload 0
getfield org.openjdk.jmh.infra.Blackhole.nullBait:Lorg/openjdk/jmh/infra/BlackholeL2;
dload 1
putfield org.openjdk.jmh.infra.BlackholeL2.d1:D
8: StackMap locals:
StackMap stack:
return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/openjdk/jmh/infra/Blackhole;
0 9 1 d D
1 9 3 d1 D
2 9 5 d2 D
MethodParameters:
Name Flags
d
public static void consumeCPU(long);
descriptor: (J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: getstatic org.openjdk.jmh.infra.Blackhole.consumedCPU:J
lstore 2
start local 2 1: lload 0
lstore 4
start local 4 2: goto 5
3: StackMap locals: long long
StackMap stack:
lload 2
lload 2
ldc 25214903917
lmul
ldc 11
ladd
lload 4
ladd
ldc 281474976710655
land
ladd
lstore 2
4: lload 4
lconst_1
lsub
lstore 4
StackMap locals:
StackMap stack:
5: lload 4
lconst_0
lcmp
ifgt 3
end local 4 6: lload 2
ldc 42
lcmp
ifne 8
7: getstatic org.openjdk.jmh.infra.Blackhole.consumedCPU:J
lload 2
ladd
putstatic org.openjdk.jmh.infra.Blackhole.consumedCPU:J
8: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 tokens J
1 9 2 t J
2 6 4 i J
MethodParameters:
Name Flags
tokens
}
SourceFile: "Blackhole.java"