86
|
1
|
|
2 MoarVM dump of binary compilation unit:
|
|
3
|
|
4 SC_0 : 853A0174C908BE23450CBE426C36E2A42F69DD24-0
|
|
5 Callsite_0 :
|
|
6 num_pos: 1
|
|
7 arg_count: 1
|
|
8 Arg 1 : positional obj
|
|
9 Callsite_1 :
|
|
10 num_pos: 1
|
|
11 arg_count: 1
|
|
12 Arg 1 : positional int
|
|
13 Callsite_2 :
|
|
14 num_pos: 2
|
|
15 arg_count: 2
|
|
16 Arg 1 : positional obj
|
|
17 Arg 2 : positional str
|
|
18 Callsite_3 :
|
|
19 num_pos: 0
|
|
20 arg_count: 0
|
|
21 Callsite_4 :
|
|
22 num_pos: 1
|
|
23 arg_count: 1
|
|
24 Arg 1 : flat obj flat
|
|
25 Frame_0 :
|
|
26 cuuid : 1
|
|
27 name : <mainline>
|
|
28 Locals :
|
|
29 0: loc_0_obj
|
|
30 1: loc_1_obj
|
|
31 2: loc_2_obj
|
|
32 3: loc_3_str
|
|
33 4: loc_4_obj
|
|
34 5: loc_5_int
|
|
35 6: loc_6_int
|
|
36 7: loc_7_obj
|
|
37 8: loc_8_obj
|
|
38 Lexicals :
|
|
39 0: lex_Frame_0__obj
|
|
40 1: lex_Frame_0__obj
|
|
41 2: lex_Frame_0__obj
|
|
42 3: lex_Frame_0__obj
|
|
43 Instructions :
|
|
44 00000 getcode loc_1_obj, Frame_1
|
|
45 00001 takeclosure loc_1_obj, loc_1_obj
|
|
46 00002 checkarity 0, -1
|
|
47 00003 param_sp loc_0_obj, 0
|
|
48 00004 paramnamesused
|
|
49 00005 bindlex lex_Frame_0__obj, loc_1_obj
|
|
50 00006 const_s loc_3_str, '$*CTXSAVE'
|
|
51 00007 getdynlex loc_4_obj, loc_3_str
|
|
52 00008 set loc_2_obj, loc_4_obj
|
|
53 00009 isnull loc_5_int, loc_2_obj
|
|
54 00010 if_i loc_5_int, label_1(00020)
|
|
55 00011 decont loc_4_obj, loc_2_obj
|
|
56 00012 const_s loc_3_str, 'ctxsave'
|
|
57 00013 can_s loc_6_int, loc_4_obj, loc_3_str
|
|
58 00014 unless_i loc_6_int, label_1(00020)
|
|
59 00015 decont loc_7_obj, loc_2_obj
|
|
60 00016 findmeth loc_4_obj, loc_7_obj, 'ctxsave'
|
|
61 00017 prepargs Callsite_0
|
|
62 00018 arg_o 0, loc_2_obj
|
|
63 00019 invoke_o loc_4_obj, loc_4_obj
|
|
64 annotation: add.nqp:10
|
|
65 label_1:
|
|
66 00020 getlex_no loc_7_obj, '&say'
|
|
67 00021 decont loc_7_obj, loc_7_obj
|
|
68 00022 const_s loc_3_str, '&add_test'
|
|
69 00023 getlexstatic_o loc_8_obj, loc_3_str
|
|
70 00024 decont loc_8_obj, loc_8_obj
|
|
71 00025 const_i64_16 loc_5_int, 10
|
|
72 00026 prepargs Callsite_1
|
|
73 00027 arg_i 0, loc_5_int
|
|
74 00028 invoke_o loc_8_obj, loc_8_obj
|
|
75 00029 prepargs Callsite_0
|
|
76 00030 arg_o 0, loc_8_obj
|
|
77 00031 invoke_v loc_7_obj
|
|
78 00032 null loc_8_obj
|
|
79 00033 return_o loc_8_obj
|
|
80 Frame_1 :
|
|
81 cuuid : 2
|
|
82 name : add_test
|
|
83 outer : Frame_0
|
|
84 Locals :
|
|
85 0: loc_0_int
|
|
86 1: loc_1_int
|
|
87 2: loc_2_int
|
|
88 3: loc_3_int
|
|
89 4: loc_4_obj
|
|
90 5: loc_5_obj
|
|
91 Instructions :
|
|
92 00000 checkarity 1, 1
|
|
93 00001 param_rp_i loc_0_int, 0
|
|
94 00002 paramnamesused
|
|
95 annotation: add.nqp:2
|
|
96 00003 const_i64_16 loc_2_int, 0
|
|
97 00004 set loc_1_int, loc_2_int
|
|
98 annotation: add.nqp:3
|
|
99 label_1:
|
|
100 00005 const_i64_16 loc_2_int, 1
|
|
101 00006 gt_i loc_2_int, loc_0_int, loc_2_int
|
|
102 00007 unless_i loc_2_int, label_2(00015)
|
|
103 00008 osrpoint
|
|
104 annotation: add.nqp:4
|
|
105 00009 add_i loc_3_int, loc_1_int, loc_0_int
|
|
106 00010 set loc_1_int, loc_3_int
|
|
107 annotation: add.nqp:5
|
|
108 00011 const_i64_16 loc_3_int, 1
|
|
109 00012 sub_i loc_3_int, loc_0_int, loc_3_int
|
|
110 00013 set loc_0_int, loc_3_int
|
|
111 00014 goto label_1(00005)
|
|
112 label_2:
|
|
113 00015 hllboxtype_i loc_4_obj
|
|
114 00016 box_i loc_4_obj, loc_1_int, loc_4_obj
|
|
115 00017 throwpayloadlex loc_4_obj, 32, loc_4_obj
|
|
116 00018 goto label_3(00021)
|
|
117 00019 lastexpayload loc_5_obj
|
|
118 00020 set loc_4_obj, loc_5_obj
|
|
119 label_3:
|
|
120 00021 return_o loc_4_obj
|
|
121 Frame_2 :
|
|
122 cuuid : 3
|
|
123 name : <dependencies+deserialize>
|
|
124 Locals :
|
|
125 0: loc_0_obj
|
|
126 1: loc_1_str
|
|
127 2: loc_2_obj
|
|
128 3: loc_3_obj
|
|
129 4: loc_4_obj
|
|
130 5: loc_5_obj
|
|
131 6: loc_6_obj
|
|
132 7: loc_7_obj
|
|
133 8: loc_8_str
|
|
134 9: loc_9_obj
|
|
135 10: loc_10_int
|
|
136 11: loc_11_str
|
|
137 12: loc_12_obj
|
|
138 Instructions :
|
|
139 00000 getcode loc_9_obj, Frame_3
|
|
140 00001 takeclosure loc_9_obj, loc_9_obj
|
|
141 00002 checkarity 0, 0
|
|
142 00003 paramnamesused
|
|
143 00004 const_s loc_1_str, 'ModuleLoader'
|
|
144 00005 getcurhllsym loc_2_obj, loc_1_str
|
|
145 00006 set loc_0_obj, loc_2_obj
|
|
146 00007 ifnonnull loc_2_obj, label_1(00013)
|
|
147 00008 const_s loc_1_str, 'ModuleLoader.moarvm'
|
|
148 00009 loadbytecode loc_1_str, loc_1_str
|
|
149 00010 hllboxtype_s loc_3_obj
|
|
150 00011 box_s loc_3_obj, loc_1_str, loc_3_obj
|
|
151 00012 set loc_0_obj, loc_3_obj
|
|
152 label_1:
|
|
153 00013 getcode loc_3_obj, Frame_0
|
|
154 00014 const_s loc_1_str, 'ModuleLoader'
|
|
155 00015 getcurhllsym loc_2_obj, loc_1_str
|
|
156 00016 const_s loc_1_str, 'NQPCORE'
|
|
157 00017 decont loc_5_obj, loc_2_obj
|
|
158 00018 findmeth loc_4_obj, loc_5_obj, 'load_setting'
|
|
159 00019 prepargs Callsite_2
|
|
160 00020 arg_o 0, loc_2_obj
|
|
161 00021 arg_s 1, loc_1_str
|
|
162 00022 invoke_o loc_2_obj, loc_4_obj
|
|
163 00023 forceouterctx loc_3_obj, loc_2_obj
|
|
164 00024 const_s loc_1_str, 'ModuleLoader'
|
|
165 00025 getcurhllsym loc_2_obj, loc_1_str
|
|
166 00026 const_s loc_1_str, 'NQPP6QRegex'
|
|
167 00027 decont loc_5_obj, loc_2_obj
|
|
168 00028 findmeth loc_4_obj, loc_5_obj, 'load_module'
|
|
169 00029 prepargs Callsite_2
|
|
170 00030 arg_o 0, loc_2_obj
|
|
171 00031 arg_s 1, loc_1_str
|
|
172 00032 invoke_o loc_2_obj, loc_4_obj
|
|
173 00033 const_s loc_1_str, '853A0174C908BE23450CBE426C36E2A42F69DD24-0'
|
|
174 00034 createsc loc_4_obj, loc_1_str
|
|
175 00035 set loc_6_obj, loc_4_obj
|
|
176 00036 const_s loc_1_str, 'add.nqp'
|
|
177 00037 scsetdesc loc_6_obj, loc_1_str
|
|
178 00038 hlllist loc_4_obj
|
|
179 00039 create loc_4_obj, loc_4_obj
|
|
180 00040 set loc_7_obj, loc_4_obj
|
|
181 00041 null_s loc_8_str
|
|
182 00042 null loc_4_obj
|
|
183 00043 prepargs Callsite_3
|
|
184 00044 invoke_o loc_5_obj, loc_9_obj
|
|
185 00045 deserialize loc_8_str, loc_6_obj, loc_4_obj, loc_5_obj, loc_7_obj
|
|
186 00046 elems loc_10_int, loc_7_obj
|
|
187 00047 unless_i loc_10_int, label_2(00050)
|
|
188 00048 const_s loc_11_str, 'Repossession conflicts occurred during deserialization'
|
|
189 00049 die loc_5_obj, loc_11_str
|
|
190 label_2:
|
|
191 00050 null loc_4_obj
|
|
192 00051 return_o loc_4_obj
|
|
193 Frame_3 :
|
|
194 cuuid : 4
|
|
195 name :
|
|
196 outer : Frame_2
|
|
197 Locals :
|
|
198 0: loc_0_obj
|
|
199 1: loc_1_obj
|
|
200 Instructions :
|
|
201 00000 checkarity 0, 0
|
|
202 00001 paramnamesused
|
|
203 00002 bootarray loc_0_obj
|
|
204 00003 create loc_0_obj, loc_0_obj
|
|
205 00004 return_o loc_0_obj
|
|
206 Frame_4 :
|
|
207 cuuid : 5
|
|
208 name : <load>
|
|
209 Locals :
|
|
210 0: loc_0_obj
|
|
211 1: loc_1_obj
|
|
212 Instructions :
|
|
213 00000 checkarity 0, 0
|
|
214 00001 paramnamesused
|
|
215 00002 getcode loc_0_obj, Frame_0
|
|
216 00003 decont loc_0_obj, loc_0_obj
|
|
217 00004 prepargs Callsite_3
|
|
218 00005 invoke_o loc_0_obj, loc_0_obj
|
|
219 00006 return_o loc_0_obj
|
|
220 Frame_5 :
|
|
221 cuuid : 6
|
|
222 name : <entry>
|
|
223 Locals :
|
|
224 0: loc_0_obj
|
|
225 1: loc_1_obj
|
|
226 2: loc_2_obj
|
|
227 Instructions :
|
|
228 00000 getcode loc_0_obj, Frame_6
|
|
229 00001 takeclosure loc_0_obj, loc_0_obj
|
|
230 00002 checkarity 0, 0
|
|
231 00003 paramnamesused
|
|
232 00004 decont loc_1_obj, loc_0_obj
|
|
233 00005 clargs loc_2_obj
|
|
234 00006 prepargs Callsite_0
|
|
235 00007 arg_o 0, loc_2_obj
|
|
236 00008 invoke_o loc_2_obj, loc_1_obj
|
|
237 00009 return_o loc_2_obj
|
|
238 Frame_6 :
|
|
239 cuuid : 7
|
|
240 name : <main>
|
|
241 outer : Frame_5
|
|
242 Locals :
|
|
243 0: loc_0_obj
|
|
244 1: loc_1_obj
|
|
245 2: loc_2_obj
|
|
246 Instructions :
|
|
247 00000 checkarity 0, -1
|
|
248 00001 param_sp loc_1_obj, 0
|
|
249 00002 paramnamesused
|
|
250 00003 getcode loc_0_obj, Frame_0
|
|
251 00004 decont loc_0_obj, loc_0_obj
|
|
252 00005 prepargs Callsite_4
|
|
253 00006 arg_o 0, loc_1_obj
|
|
254 00007 invoke_o loc_0_obj, loc_0_obj
|
|
255 00008 return_o loc_0_obj
|