public class io.vertx.core.impl.cpu.CpuCoreSensor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.core.impl.cpu.CpuCoreSensor
super_class: java.lang.Object
{
private static final java.lang.String CPUS_ALLOWED;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Cpus_allowed:"
private static final byte[] BITS;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.nio.charset.Charset ASCII;
descriptor: Ljava/nio/charset/Charset;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 16
newarray 8
dup
iconst_1
iconst_1
bastore
dup
iconst_2
iconst_1
bastore
dup
iconst_3
iconst_2
bastore
dup
iconst_4
iconst_1
bastore
dup
iconst_5
iconst_2
bastore
dup
bipush 6
iconst_2
bastore
dup
bipush 7
iconst_3
bastore
dup
bipush 8
iconst_1
bastore
dup
bipush 9
iconst_2
bastore
dup
bipush 10
iconst_2
bastore
dup
bipush 11
iconst_3
bastore
dup
bipush 12
iconst_2
bastore
dup
bipush 13
iconst_3
bastore
dup
bipush 14
iconst_3
bastore
dup
bipush 15
iconst_4
bastore
putstatic io.vertx.core.impl.cpu.CpuCoreSensor.BITS:[B
1: ldc "US-ASCII"
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
putstatic io.vertx.core.impl.cpu.CpuCoreSensor.ASCII:Ljava/nio/charset/Charset;
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 Lio/vertx/core/impl/cpu/CpuCoreSensor;
public static int availableProcessors();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 2
1: invokedynamic run()Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
io/vertx/core/impl/cpu/CpuCoreSensor.lambda$0()Ljava/lang/Integer; (6)
()Ljava/lang/Integer;
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
2: StackMap locals:
StackMap stack:
invokestatic io.vertx.core.impl.cpu.CpuCoreSensor.determineProcessors:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
private static int determineProcessors();
descriptor: ()I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.availableProcessors:()I
istore 0
start local 0 1: iconst_0
istore 1
start local 1 2: invokestatic io.vertx.core.impl.launcher.commands.ExecUtils.isLinux:()Z
ifne 4
3: iload 0
ireturn
4: StackMap locals: int int
StackMap stack:
new java.io.File
dup
ldc "/proc/self/status"
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic io.vertx.core.impl.cpu.CpuCoreSensor.readCPUMask:(Ljava/io/File;)I
istore 1
5: goto 7
StackMap locals:
StackMap stack: java.lang.Exception
6: pop
7: StackMap locals:
StackMap stack:
iload 1
ifle 8
iload 0
iload 1
invokestatic java.lang.Math.min:(II)I
goto 9
StackMap locals:
StackMap stack:
8: iload 0
StackMap locals:
StackMap stack: int
9: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 10 0 fromJava I
2 10 1 fromProcFile I
Exception table:
from to target type
4 5 6 Class java.lang.Exception
protected static int readCPUMask(java.io.File);
descriptor: (Ljava/io/File;)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=11, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokevirtual java.io.File.exists:()Z
ifne 2
1: StackMap locals:
StackMap stack:
iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 1
start local 1 3: new java.io.InputStreamReader
dup
aload 1
getstatic io.vertx.core.impl.cpu.CpuCoreSensor.ASCII:Ljava/nio/charset/Charset;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
astore 2
start local 2 4: aconst_null
astore 3
aconst_null
astore 4
5: new java.io.BufferedReader
dup
aload 2
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 5
start local 5 6: goto 26
start local 6 7: StackMap locals: java.io.File java.io.FileInputStream java.io.InputStreamReader java.lang.Throwable java.lang.Throwable java.io.BufferedReader java.lang.String
StackMap stack:
aload 6
ldc "Cpus_allowed:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 26
8: iconst_0
istore 7
start local 7 9: ldc "Cpus_allowed:"
invokevirtual java.lang.String.length:()I
istore 8
start local 8 10: iload 8
istore 9
start local 9 11: goto 22
12: StackMap locals: int int int
StackMap stack:
aload 6
iload 9
invokevirtual java.lang.String.charAt:(I)C
istore 10
start local 10 13: iload 10
bipush 48
if_icmplt 16
iload 10
bipush 57
if_icmpgt 16
14: iload 7
getstatic io.vertx.core.impl.cpu.CpuCoreSensor.BITS:[B
iload 10
bipush 48
isub
baload
iadd
istore 7
15: goto 21
StackMap locals: int
StackMap stack:
16: iload 10
bipush 97
if_icmplt 19
iload 10
bipush 102
if_icmpgt 19
17: iload 7
getstatic io.vertx.core.impl.cpu.CpuCoreSensor.BITS:[B
iload 10
bipush 97
isub
bipush 10
iadd
baload
iadd
istore 7
18: goto 21
StackMap locals:
StackMap stack:
19: iload 10
bipush 65
if_icmplt 21
iload 10
bipush 70
if_icmpgt 21
20: iload 7
getstatic io.vertx.core.impl.cpu.CpuCoreSensor.BITS:[B
iload 10
bipush 65
isub
bipush 10
iadd
baload
iadd
istore 7
end local 10 21: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
22: iload 9
aload 6
invokevirtual java.lang.String.length:()I
if_icmplt 12
end local 9 23: iload 7
24: aload 5
ifnull 25
aload 5
invokevirtual java.io.BufferedReader.close:()V
25: StackMap locals: java.io.File java.io.FileInputStream java.io.InputStreamReader java.lang.Throwable java.lang.Throwable java.io.BufferedReader java.lang.String int int
StackMap stack: int
ireturn
end local 8 end local 7 end local 6 26: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 6
start local 6 27: ifnonnull 7
end local 6 28: aload 5
ifnull 34
aload 5
invokevirtual java.io.BufferedReader.close:()V
goto 34
StackMap locals:
StackMap stack: java.lang.Throwable
29: astore 3
aload 5
ifnull 30
aload 5
invokevirtual java.io.BufferedReader.close:()V
end local 5 StackMap locals:
StackMap stack:
30: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
31: astore 4
aload 3
ifnonnull 32
aload 4
astore 3
goto 33
StackMap locals:
StackMap stack:
32: aload 3
aload 4
if_acmpeq 33
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
33: aload 3
athrow
34: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 file Ljava/io/File;
3 35 1 stream Ljava/io/FileInputStream;
4 35 2 inputReader Ljava/io/InputStreamReader;
6 30 5 reader Ljava/io/BufferedReader;
7 26 6 line Ljava/lang/String;
27 28 6 line Ljava/lang/String;
9 26 7 count I
10 26 8 start I
11 23 9 i I
13 21 10 ch C
Exception table:
from to target type
6 24 29 any
26 28 29 any
5 25 31 any
26 31 31 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
private static java.lang.Integer lambda$0();
descriptor: ()Ljava/lang/Integer;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic io.vertx.core.impl.cpu.CpuCoreSensor.determineProcessors:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "CpuCoreSensor.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles