public class com.android.internal.os.KernelCpuSpeedReader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.android.internal.os.KernelCpuSpeedReader
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "KernelCpuSpeedReader"
private final java.lang.String mProcFile;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mNumSpeedSteps;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long[] mLastSpeedTimesMs;
descriptor: [J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long[] mDeltaSpeedTimesMs;
descriptor: [J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long mJiffyMillis;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tThe import android.system cannot be resolved\n\tThe import android.system cannot be resolved\n\tOs cannot be resolved\n\tOsConstants cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/os/KernelCpuSpeedReader;
MethodParameters:
Name Flags
cpuNumber
numSpeedSteps
public long[] readDelta();
descriptor: ()[J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=1
start local 0 0: invokestatic android.os.StrictMode.allowThreadDiskReads:()Landroid/os/StrictMode$ThreadPolicy;
astore 1
start local 1 1: aconst_null
astore 2
aconst_null
astore 3
2: new java.io.BufferedReader
dup
new java.io.FileReader
dup
aload 0
getfield com.android.internal.os.KernelCpuSpeedReader.mProcFile:Ljava/lang/String;
invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 4
start local 4 3: new android.text.TextUtils$SimpleStringSplitter
dup
bipush 32
invokespecial android.text.TextUtils$SimpleStringSplitter.<init>:(C)V
astore 5
start local 5 4: iconst_0
istore 7
start local 7 5: goto 15
start local 6 6: StackMap locals: com.android.internal.os.KernelCpuSpeedReader android.os.StrictMode$ThreadPolicy java.lang.Throwable java.lang.Throwable java.io.BufferedReader android.text.TextUtils$SimpleStringSplitter java.lang.String int
StackMap stack:
aload 5
aload 6
invokevirtual android.text.TextUtils$SimpleStringSplitter.setString:(Ljava/lang/String;)V
7: aload 5
invokevirtual android.text.TextUtils$SimpleStringSplitter.next:()Ljava/lang/String;
pop
8: aload 5
invokevirtual android.text.TextUtils$SimpleStringSplitter.next:()Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
aload 0
getfield com.android.internal.os.KernelCpuSpeedReader.mJiffyMillis:J
lmul
lstore 8
start local 8 9: lload 8
aload 0
getfield com.android.internal.os.KernelCpuSpeedReader.mLastSpeedTimesMs:[J
iload 7
laload
lcmp
ifge 12
10: aload 0
getfield com.android.internal.os.KernelCpuSpeedReader.mDeltaSpeedTimesMs:[J
iload 7
lload 8
lastore
11: goto 13
12: StackMap locals: long
StackMap stack:
aload 0
getfield com.android.internal.os.KernelCpuSpeedReader.mDeltaSpeedTimesMs:[J
iload 7
lload 8
aload 0
getfield com.android.internal.os.KernelCpuSpeedReader.mLastSpeedTimesMs:[J
iload 7
laload
lsub
lastore
13: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.os.KernelCpuSpeedReader.mLastSpeedTimesMs:[J
iload 7
lload 8
lastore
14: iinc 7 1
end local 8 end local 6 15: StackMap locals: com.android.internal.os.KernelCpuSpeedReader android.os.StrictMode$ThreadPolicy java.lang.Throwable java.lang.Throwable java.io.BufferedReader android.text.TextUtils$SimpleStringSplitter top int
StackMap stack:
iload 7
aload 0
getfield com.android.internal.os.KernelCpuSpeedReader.mLastSpeedTimesMs:[J
arraylength
if_icmpge 17
aload 4
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 6
start local 6 16: ifnonnull 6
end local 7 end local 6 end local 5 17: StackMap locals: com.android.internal.os.KernelCpuSpeedReader android.os.StrictMode$ThreadPolicy java.lang.Throwable java.lang.Throwable java.io.BufferedReader
StackMap stack:
aload 4
ifnull 30
aload 4
invokevirtual java.io.BufferedReader.close:()V
goto 30
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 2
aload 4
ifnull 19
aload 4
invokevirtual java.io.BufferedReader.close:()V
end local 4 StackMap locals:
StackMap stack:
19: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 3
aload 2
ifnonnull 21
aload 3
astore 2
goto 22
StackMap locals:
StackMap stack:
21: aload 2
aload 3
if_acmpeq 22
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
22: aload 2
athrow
StackMap locals: com.android.internal.os.KernelCpuSpeedReader android.os.StrictMode$ThreadPolicy
StackMap stack: java.io.IOException
23: astore 2
start local 2 24: ldc "KernelCpuSpeedReader"
new java.lang.StringBuilder
dup
ldc "Failed to read cpu-freq: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
25: aload 0
getfield com.android.internal.os.KernelCpuSpeedReader.mDeltaSpeedTimesMs:[J
lconst_0
invokestatic java.util.Arrays.fill:([JJ)V
end local 2 26: aload 1
invokestatic android.os.StrictMode.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V
goto 31
27: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
28: aload 1
invokestatic android.os.StrictMode.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V
29: aload 10
athrow
30: StackMap locals:
StackMap stack:
aload 1
invokestatic android.os.StrictMode.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V
31: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.os.KernelCpuSpeedReader.mDeltaSpeedTimesMs:[J
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lcom/android/internal/os/KernelCpuSpeedReader;
1 32 1 policy Landroid/os/StrictMode$ThreadPolicy;
3 19 4 reader Ljava/io/BufferedReader;
4 17 5 splitter Landroid/text/TextUtils$SimpleStringSplitter;
6 15 6 line Ljava/lang/String;
16 17 6 line Ljava/lang/String;
5 17 7 speedIndex I
9 15 8 time J
24 26 2 e Ljava/io/IOException;
Exception table:
from to target type
3 17 18 any
2 20 20 any
1 23 23 Class java.io.IOException
1 26 27 any
public long[] readAbsolute();
descriptor: ()[J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=1
start local 0 0: invokestatic android.os.StrictMode.allowThreadDiskReads:()Landroid/os/StrictMode$ThreadPolicy;
astore 1
start local 1 1: aload 0
getfield com.android.internal.os.KernelCpuSpeedReader.mNumSpeedSteps:I
newarray 11
astore 2
start local 2 2: aconst_null
astore 3
aconst_null
astore 4
3: new java.io.BufferedReader
dup
new java.io.FileReader
dup
aload 0
getfield com.android.internal.os.KernelCpuSpeedReader.mProcFile:Ljava/lang/String;
invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 5
start local 5 4: new android.text.TextUtils$SimpleStringSplitter
dup
bipush 32
invokespecial android.text.TextUtils$SimpleStringSplitter.<init>:(C)V
astore 6
start local 6 5: iconst_0
istore 8
start local 8 6: goto 12
start local 7 7: StackMap locals: com.android.internal.os.KernelCpuSpeedReader android.os.StrictMode$ThreadPolicy long[] java.lang.Throwable java.lang.Throwable java.io.BufferedReader android.text.TextUtils$SimpleStringSplitter java.lang.String int
StackMap stack:
aload 6
aload 7
invokevirtual android.text.TextUtils$SimpleStringSplitter.setString:(Ljava/lang/String;)V
8: aload 6
invokevirtual android.text.TextUtils$SimpleStringSplitter.next:()Ljava/lang/String;
pop
9: aload 6
invokevirtual android.text.TextUtils$SimpleStringSplitter.next:()Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
aload 0
getfield com.android.internal.os.KernelCpuSpeedReader.mJiffyMillis:J
lmul
lstore 9
start local 9 10: aload 2
iload 8
lload 9
lastore
11: iinc 8 1
end local 9 end local 7 12: StackMap locals: com.android.internal.os.KernelCpuSpeedReader android.os.StrictMode$ThreadPolicy long[] java.lang.Throwable java.lang.Throwable java.io.BufferedReader android.text.TextUtils$SimpleStringSplitter top int
StackMap stack:
iload 8
aload 0
getfield com.android.internal.os.KernelCpuSpeedReader.mNumSpeedSteps:I
if_icmpge 14
aload 5
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 7
start local 7 13: ifnonnull 7
end local 8 end local 7 end local 6 14: StackMap locals: com.android.internal.os.KernelCpuSpeedReader android.os.StrictMode$ThreadPolicy long[] java.lang.Throwable java.lang.Throwable java.io.BufferedReader
StackMap stack:
aload 5
ifnull 27
aload 5
invokevirtual java.io.BufferedReader.close:()V
goto 27
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 3
aload 5
ifnull 16
aload 5
invokevirtual java.io.BufferedReader.close:()V
end local 5 StackMap locals:
StackMap stack:
16: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 4
aload 3
ifnonnull 18
aload 4
astore 3
goto 19
StackMap locals:
StackMap stack:
18: aload 3
aload 4
if_acmpeq 19
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
19: aload 3
athrow
StackMap locals: com.android.internal.os.KernelCpuSpeedReader android.os.StrictMode$ThreadPolicy long[]
StackMap stack: java.io.IOException
20: astore 3
start local 3 21: ldc "KernelCpuSpeedReader"
new java.lang.StringBuilder
dup
ldc "Failed to read cpu-freq: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
22: aload 2
lconst_0
invokestatic java.util.Arrays.fill:([JJ)V
end local 3 23: aload 1
invokestatic android.os.StrictMode.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V
goto 28
24: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
25: aload 1
invokestatic android.os.StrictMode.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V
26: aload 11
athrow
27: StackMap locals:
StackMap stack:
aload 1
invokestatic android.os.StrictMode.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V
28: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/android/internal/os/KernelCpuSpeedReader;
1 29 1 policy Landroid/os/StrictMode$ThreadPolicy;
2 29 2 speedTimeMs [J
4 16 5 reader Ljava/io/BufferedReader;
5 14 6 splitter Landroid/text/TextUtils$SimpleStringSplitter;
7 12 7 line Ljava/lang/String;
13 14 7 line Ljava/lang/String;
6 14 8 speedIndex I
10 12 9 time J
21 23 3 e Ljava/io/IOException;
Exception table:
from to target type
4 14 15 any
3 17 17 any
2 20 20 Class java.io.IOException
2 23 24 any
}
SourceFile: "KernelCpuSpeedReader.java"
InnerClasses:
public final ThreadPolicy = android.os.StrictMode$ThreadPolicy of android.os.StrictMode
public SimpleStringSplitter = android.text.TextUtils$SimpleStringSplitter of android.text.TextUtils