public class com.android.internal.os.KernelUidCpuActiveTimeReader extends com.android.internal.os.KernelUidCpuTimeReaderBase<com.android.internal.os.KernelUidCpuActiveTimeReader$Callback>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.android.internal.os.KernelUidCpuActiveTimeReader
super_class: com.android.internal.os.KernelUidCpuTimeReaderBase
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final com.android.internal.os.KernelCpuProcReader mProcReader;
descriptor: Lcom/android/internal/os/KernelCpuProcReader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private android.util.SparseArray<java.lang.Double> mLastUidCpuActiveTimeMs;
descriptor: Landroid/util/SparseArray;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/SparseArray<Ljava/lang/Double;>;
private int mCores;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
putstatic com.android.internal.os.KernelUidCpuActiveTimeReader.TAG:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.android.internal.os.KernelUidCpuTimeReaderBase.<init>:()V
1: aload 0
new android.util.SparseArray
dup
invokespecial android.util.SparseArray.<init>:()V
putfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
2: aload 0
invokestatic com.android.internal.os.KernelCpuProcReader.getActiveTimeReaderInstance:()Lcom/android/internal/os/KernelCpuProcReader;
putfield com.android.internal.os.KernelUidCpuActiveTimeReader.mProcReader:Lcom/android/internal/os/KernelCpuProcReader;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
public void <init>(com.android.internal.os.KernelCpuProcReader);
descriptor: (Lcom/android/internal/os/KernelCpuProcReader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.android.internal.os.KernelUidCpuTimeReaderBase.<init>:()V
1: aload 0
new android.util.SparseArray
dup
invokespecial android.util.SparseArray.<init>:()V
putfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
2: aload 0
aload 1
putfield com.android.internal.os.KernelUidCpuActiveTimeReader.mProcReader:Lcom/android/internal/os/KernelCpuProcReader;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
0 4 1 procReader Lcom/android/internal/os/KernelCpuProcReader;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
procReader
protected void readDeltaImpl(com.android.internal.os.KernelUidCpuActiveTimeReader$Callback);
descriptor: (Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
aload 1
invokedynamic accept(Lcom/android/internal/os/KernelUidCpuActiveTimeReader;Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;)Ljava/util/function/Consumer;
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;)V
com/android/internal/os/KernelUidCpuActiveTimeReader.lambda$0(Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;Ljava/nio/IntBuffer;)V (7)
(Ljava/nio/IntBuffer;)V
invokevirtual com.android.internal.os.KernelUidCpuActiveTimeReader.readImpl:(Ljava/util/function/Consumer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
0 2 1 callback Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;
MethodParameters:
Name Flags
callback
public void readAbsolute(com.android.internal.os.KernelUidCpuActiveTimeReader$Callback);
descriptor: (Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
aload 1
invokedynamic accept(Lcom/android/internal/os/KernelUidCpuActiveTimeReader;Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;)Ljava/util/function/Consumer;
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;)V
com/android/internal/os/KernelUidCpuActiveTimeReader.lambda$1(Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;Ljava/nio/IntBuffer;)V (7)
(Ljava/nio/IntBuffer;)V
invokevirtual com.android.internal.os.KernelUidCpuActiveTimeReader.readImpl:(Ljava/util/function/Consumer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
0 2 1 callback Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;
MethodParameters:
Name Flags
callback
private double sumActiveTime(java.nio.IntBuffer);
descriptor: (Ljava/nio/IntBuffer;)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: dconst_0
dstore 2
start local 2 1: iconst_0
istore 4
start local 4 2: iconst_1
istore 5
start local 5 3: goto 11
4: StackMap locals: double int int
StackMap stack:
aload 1
invokevirtual java.nio.IntBuffer.get:()I
istore 6
start local 6 5: iload 6
ifge 9
6: getstatic com.android.internal.os.KernelUidCpuActiveTimeReader.TAG:Ljava/lang/String;
new java.lang.StringBuilder
dup
ldc "Negative time from active time proc: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
7: iconst_1
istore 4
8: goto 10
9: StackMap locals: int
StackMap stack:
dload 2
iload 6
i2d
ldc 10.0
dmul
iload 5
i2d
ddiv
dadd
dstore 2
end local 6 10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 0
getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mCores:I
if_icmple 4
end local 5 12: iload 4
ifeq 13
ldc -1.0
goto 14
StackMap locals:
StackMap stack:
13: dload 2
StackMap locals:
StackMap stack: double
14: dreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
0 15 1 buffer Ljava/nio/IntBuffer;
1 15 2 sum D
2 15 4 corrupted Z
3 12 5 j I
5 10 6 time I
MethodParameters:
Name Flags
buffer
private void readImpl(java.util.function.Consumer<java.nio.IntBuffer>);
descriptor: (Ljava/util/function/Consumer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mProcReader:Lcom/android/internal/os/KernelCpuProcReader;
dup
astore 2
monitorenter
1: aload 0
getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mProcReader:Lcom/android/internal/os/KernelCpuProcReader;
invokevirtual com.android.internal.os.KernelCpuProcReader.readBytes:()Ljava/nio/ByteBuffer;
astore 3
start local 3 2: aload 3
ifnull 3
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_4
if_icmpgt 5
3: StackMap locals: com.android.internal.os.KernelCpuProcReader java.nio.ByteBuffer
StackMap stack:
aload 2
monitorexit
4: return
5: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_3
iand
ifeq 11
6: getstatic com.android.internal.os.KernelUidCpuActiveTimeReader.TAG:Ljava/lang/String;
7: new java.lang.StringBuilder
dup
ldc "Cannot parse active time proc bytes to int: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokestatic android.util.Slog.wtf:(Ljava/lang/String;Ljava/lang/String;)I
pop
9: aload 2
monitorexit
10: return
11: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.asIntBuffer:()Ljava/nio/IntBuffer;
astore 4
start local 4 12: aload 4
invokevirtual java.nio.IntBuffer.get:()I
istore 5
start local 5 13: aload 0
getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mCores:I
ifeq 17
iload 5
aload 0
getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mCores:I
if_icmpeq 17
14: getstatic com.android.internal.os.KernelUidCpuActiveTimeReader.TAG:Ljava/lang/String;
new java.lang.StringBuilder
dup
ldc "Cpu active time wrong # cores: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Slog.wtf:(Ljava/lang/String;Ljava/lang/String;)I
pop
15: aload 2
monitorexit
16: return
17: StackMap locals: java.nio.IntBuffer int
StackMap stack:
aload 0
iload 5
putfield com.android.internal.os.KernelUidCpuActiveTimeReader.mCores:I
18: iload 5
ifle 19
aload 4
invokevirtual java.nio.IntBuffer.remaining:()I
iload 5
iconst_1
iadd
irem
ifeq 26
19: StackMap locals:
StackMap stack:
getstatic com.android.internal.os.KernelUidCpuActiveTimeReader.TAG:Ljava/lang/String;
20: new java.lang.StringBuilder
dup
ldc "Cpu active time format error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.nio.IntBuffer.remaining:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " / "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
21: iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
22: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokestatic android.util.Slog.wtf:(Ljava/lang/String;Ljava/lang/String;)I
pop
24: aload 2
monitorexit
25: return
26: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.IntBuffer.remaining:()I
iload 5
iconst_1
iadd
idiv
istore 6
start local 6 27: iconst_0
istore 7
start local 7 28: goto 31
29: StackMap locals: int int
StackMap stack:
aload 1
aload 4
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
30: iinc 7 1
StackMap locals:
StackMap stack:
31: iload 7
iload 6
if_icmplt 29
end local 7 end local 6 end local 5 end local 4 end local 3 32: aload 2
monitorexit
33: goto 36
StackMap locals: com.android.internal.os.KernelUidCpuActiveTimeReader java.util.function.Consumer com.android.internal.os.KernelCpuProcReader
StackMap stack: java.lang.Throwable
34: aload 2
monitorexit
35: athrow
36: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
0 37 1 processUid Ljava/util/function/Consumer<Ljava/nio/IntBuffer;>;
2 32 3 bytes Ljava/nio/ByteBuffer;
12 32 4 buf Ljava/nio/IntBuffer;
13 32 5 cores I
27 32 6 numUids I
28 32 7 i I
Exception table:
from to target type
1 4 34 any
5 10 34 any
11 16 34 any
17 25 34 any
26 33 34 any
34 35 34 any
Signature: (Ljava/util/function/Consumer<Ljava/nio/IntBuffer;>;)V
MethodParameters:
Name Flags
processUid
public void removeUid(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.delete:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
0 2 1 uid I
MethodParameters:
Name Flags
uid
public void removeUidsInRange(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
iload 1
aconst_null
invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
1: aload 0
getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
iload 2
aconst_null
invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
2: aload 0
getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.indexOfKey:(I)I
istore 3
start local 3 3: aload 0
getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
iload 2
invokevirtual android.util.SparseArray.indexOfKey:(I)I
istore 4
start local 4 4: aload 0
getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
iload 3
iload 4
iload 3
isub
iconst_1
iadd
invokevirtual android.util.SparseArray.removeAtRange:(II)V
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
0 6 1 startUid I
0 6 2 endUid I
3 6 3 firstIndex I
4 6 4 lastIndex I
MethodParameters:
Name Flags
startUid
endUid
protected void readDeltaImpl(com.android.internal.os.KernelUidCpuTimeReaderBase$Callback);
descriptor: (Lcom/android/internal/os/KernelUidCpuTimeReaderBase$Callback;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.android.internal.os.KernelUidCpuActiveTimeReader$Callback
invokevirtual com.android.internal.os.KernelUidCpuActiveTimeReader.readDeltaImpl:(Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;)V
return
LocalVariableTable:
Start End Slot Name Signature
private void lambda$0(com.android.internal.os.KernelUidCpuActiveTimeReader$Callback, java.nio.IntBuffer);
descriptor: (Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;Ljava/nio/IntBuffer;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=8, args_size=3
start local 0 start local 2 0: aload 2
invokevirtual java.nio.IntBuffer.get:()I
istore 3
start local 3 1: aload 0
aload 2
invokevirtual com.android.internal.os.KernelUidCpuActiveTimeReader.sumActiveTime:(Ljava/nio/IntBuffer;)D
dstore 4
start local 4 2: dload 4
dconst_0
dcmpl
ifle 11
3: dload 4
aload 0
getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
iload 3
dconst_0
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokevirtual android.util.SparseArray.get:(ILjava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dsub
dstore 6
start local 6 4: dload 6
dconst_0
dcmpl
ifle 9
5: aload 0
getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
iload 3
dload 4
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
6: aload 1
ifnull 11
7: aload 1
iload 3
dload 6
d2l
invokeinterface com.android.internal.os.KernelUidCpuActiveTimeReader$Callback.onUidCpuActiveTime:(IJ)V
8: goto 11
StackMap locals: int double double
StackMap stack:
9: dload 6
dconst_0
dcmpg
ifge 11
10: getstatic com.android.internal.os.KernelUidCpuActiveTimeReader.TAG:Ljava/lang/String;
new java.lang.StringBuilder
dup
ldc "Negative delta from active time proc: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
dload 6
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 6 end local 4 end local 3 11: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
0 12 2 buf Ljava/nio/IntBuffer;
1 11 3 uid I
2 11 4 activeTime D
4 11 6 delta D
private void lambda$1(com.android.internal.os.KernelUidCpuActiveTimeReader$Callback, java.nio.IntBuffer);
descriptor: (Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;Ljava/nio/IntBuffer;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 2 0: aload 2
invokevirtual java.nio.IntBuffer.get:()I
istore 3
start local 3 1: aload 0
aload 2
invokevirtual com.android.internal.os.KernelUidCpuActiveTimeReader.sumActiveTime:(Ljava/nio/IntBuffer;)D
dstore 4
start local 4 2: dload 4
dconst_0
dcmpl
ifle 4
3: aload 1
iload 3
dload 4
d2l
invokeinterface com.android.internal.os.KernelUidCpuActiveTimeReader$Callback.onUidCpuActiveTime:(IJ)V
end local 4 end local 3 4: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
0 5 2 buf Ljava/nio/IntBuffer;
1 4 3 uid I
2 4 4 activeTime D
}
Signature: Lcom/android/internal/os/KernelUidCpuTimeReaderBase<Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;>;
SourceFile: "KernelUidCpuActiveTimeReader.java"
NestMembers:
com.android.internal.os.KernelUidCpuActiveTimeReader$Callback
InnerClasses:
public abstract Callback = com.android.internal.os.KernelUidCpuActiveTimeReader$Callback of com.android.internal.os.KernelUidCpuActiveTimeReader
public abstract Callback = com.android.internal.os.KernelUidCpuTimeReaderBase$Callback of com.android.internal.os.KernelUidCpuTimeReaderBase
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles