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: sub-int/2addr v2, v3
000a: invoke-static {v2}, Blort.test:(I)I
000d: move-result v2
000e: move v0, v2
000f: move v2, v0
0010: move v3, v0
0011: const/4 v4, #int 2 // #2
0012: sub-int/2addr v3, v4
0013: invoke-static {v3}, Blort.test:(I)I
0016: move-result v3
0017: add-int/2addr v2, v3
0018: move v0, v2
0019: move v2, v0
001a: move v0, v2
001b: goto 0006 // -0015
001c: move-exception v2
001d: move-object v1, v2
001e: const/4 v2, #int 2 // #2
001f: move v0, v2
0020: goto 0006 // -001a
catches
tries:
try 000a..000d
catch java.lang.RuntimeException -> 001c
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: sub-int/2addr v2, v3
000a: invoke-static {v2}, Blort.test:(I)I
000d: move-result v2
000e: move v0, v2
000f: move v2, v0
0010: move v3, v0
0011: const/4 v4, #int 2 // #2
0012: sub-int/2addr v3, v4
0013: invoke-static {v3}, Blort.test:(I)I
0016: move-result v3
0017: add-int/2addr v2, v3
0018: move v0, v2
0019: move v2, v0
001a: move v0, v2
001b: goto 0006 // -0015
001c: move-exception v2
001d: move-object v1, v2
001e: const/4 v2, #int 2 // #2
001f: move v0, v2
0020: goto 0006 // -001a
catches
tries:
try 000a..000d
catch java.lang.RuntimeException -> 001c
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
000f: line 28
0019: line 29
001c: line 25
001e: 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: sub-int/2addr v2, v3
000a: invoke-static {v2}, Blort.test:(I)I
000d: move-result v2
000e: move v0, v2
000f: move v2, v0
0010: move v3, v0
0011: const/4 v4, #int 2 // #2
0012: sub-int/2addr v3, v4
0013: invoke-static {v3}, Blort.test:(I)I
0016: move-result v3
0017: add-int/2addr v2, v3
0018: move v0, v2
0019: move v2, v0
001a: move v0, v2
001b: goto 0006 // -0015
001c: move-exception v2
001d: move-object v1, v2
001e: const/4 v2, #int 2 // #2
001f: move v0, v2
0020: goto 0006 // -001a
catches
tries:
try 000a..000d
catch java.lang.RuntimeException -> 001c
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
000f: line 28
0019: line 29
001c: line 25
001e: line 26
end sequence
source file: "Blort.java"
|