1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
Blort.test:(I)I:
regs: 0006; ins: 0001; outs: 0001
0000: move v0, v5
0001: move v2, v0
0002: if-nez v2, 0007 // +0005
0004: const/4 v2, #int 1 // #1
0005: move v0, v2
0006: return v0
0007: move v2, v0
0008: const/4 v3, #int 1 // #1
0009: add-int/lit8 v2, v2, #int -1 // #ff
000b: invoke-static {v2}, Blort.test:(I)I
000e: move-result v2
000f: move v0, v2
0010: move v2, v0
0011: move v3, v0
0012: const/4 v4, #int 2 // #2
0013: add-int/lit8 v3, v3, #int -2 // #fe
0015: invoke-static {v3}, Blort.test:(I)I
0018: move-result v3
0019: add-int/2addr v2, v3
001a: move v0, v2
001b: move v2, v0
001c: move v0, v2
001d: goto 0006 // -0017
001e: move-exception v2
001f: move-object v1, v2
0020: const/4 v2, #int 2 // #2
0021: move v0, v2
0022: goto 0006 // -001c
catches
tries:
try 000b..000e
catch java.lang.RuntimeException -> 001e
Blort.test:(I)I:
regs: 0006; ins: 0001; outs: 0001
0000: move v0, v5
0001: move v2, v0
0002: if-nez v2, 0007 // +0005
0004: const/4 v2, #int 1 // #1
0005: move v0, v2
0006: return v0
0007: move v2, v0
0008: const/4 v3, #int 1 // #1
0009: add-int/lit8 v2, v2, #int -1 // #ff
000b: invoke-static {v2}, Blort.test:(I)I
000e: move-result v2
000f: move v0, v2
0010: move v2, v0
0011: move v3, v0
0012: const/4 v4, #int 2 // #2
0013: add-int/lit8 v3, v3, #int -2 // #fe
0015: invoke-static {v3}, Blort.test:(I)I
0018: move-result v3
0019: add-int/2addr v2, v3
001a: move v0, v2
001b: move v2, v0
001c: move v0, v2
001d: goto 0006 // -0017
001e: move-exception v2
001f: move-object v1, v2
0020: const/4 v2, #int 2 // #2
0021: move v0, v2
0022: goto 0006 // -001c
catches
tries:
try 000b..000e
catch java.lang.RuntimeException -> 001e
debug info
line_start: 20
parameters_size: 0001
parameter <unnamed> v5
0000: prologue end
0000: line 20
0004: line 21
0006: line 29
line = 24
0007: line 24
0010: line 28
001b: line 29
001e: line 25
0020: line 26
end sequence
source file: "Blort.java"
Blort.test:(I)I:
regs: 0006; ins: 0001; outs: 0001
0000: move v0, v5
0001: move v2, v0
0002: if-nez v2, 0007 // +0005
0004: const/4 v2, #int 1 // #1
0005: move v0, v2
0006: return v0
0007: move v2, v0
0008: const/4 v3, #int 1 // #1
0009: add-int/lit8 v2, v2, #int -1 // #ff
000b: invoke-static {v2}, Blort.test:(I)I
000e: move-result v2
000f: move v0, v2
0010: move v2, v0
0011: move v3, v0
0012: const/4 v4, #int 2 // #2
0013: add-int/lit8 v3, v3, #int -2 // #fe
0015: invoke-static {v3}, Blort.test:(I)I
0018: move-result v3
0019: add-int/2addr v2, v3
001a: move v0, v2
001b: move v2, v0
001c: move v0, v2
001d: goto 0006 // -0017
001e: move-exception v2
001f: move-object v1, v2
0020: const/4 v2, #int 2 // #2
0021: move v0, v2
0022: goto 0006 // -001c
catches
tries:
try 000b..000e
catch java.lang.RuntimeException -> 001e
debug info
line_start: 20
parameters_size: 0001
parameter <unnamed> v5
0000: prologue end
0000: line 20
0004: line 21
0006: line 29
line = 24
0007: line 24
0010: line 28
001b: line 29
001e: line 25
0020: line 26
end sequence
source file: "Blort.java"
|