1 /* This C file is generated by NIT to compile module nitc. */
3 val_t
nitc___NitCompiler___opt_output(val_t p0
){
4 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_nitc
;
10 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_output
;
13 fra
.me
.REG
[0] = NIT_NULL
;
16 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_output(fra
.me
.REG
[0])!=NIT_NULL
);
17 if (UNTAG_Bool(REGB0
)) {
19 nit_abort("Uninitialized attribute %s", "_opt_output", LOCATE_nitc
, 31);
21 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_output(fra
.me
.REG
[0]);
22 stack_frame_head
= fra
.me
.prev
;
25 val_t
nitc___NitCompiler___opt_boost(val_t p0
){
26 struct {struct stack_frame_t me
;} fra
;
29 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
30 fra
.me
.file
= LOCATE_nitc
;
32 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_boost
;
35 fra
.me
.REG
[0] = NIT_NULL
;
38 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_boost(fra
.me
.REG
[0])!=NIT_NULL
);
39 if (UNTAG_Bool(REGB0
)) {
41 nit_abort("Uninitialized attribute %s", "_opt_boost", LOCATE_nitc
, 32);
43 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_boost(fra
.me
.REG
[0]);
44 stack_frame_head
= fra
.me
.prev
;
47 val_t
nitc___NitCompiler___opt_no_cc(val_t p0
){
48 struct {struct stack_frame_t me
;} fra
;
51 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
52 fra
.me
.file
= LOCATE_nitc
;
54 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_no_cc
;
57 fra
.me
.REG
[0] = NIT_NULL
;
60 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_no_cc(fra
.me
.REG
[0])!=NIT_NULL
);
61 if (UNTAG_Bool(REGB0
)) {
63 nit_abort("Uninitialized attribute %s", "_opt_no_cc", LOCATE_nitc
, 33);
65 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_no_cc(fra
.me
.REG
[0]);
66 stack_frame_head
= fra
.me
.prev
;
69 val_t
nitc___NitCompiler___opt_cc_no_link(val_t p0
){
70 struct {struct stack_frame_t me
;} fra
;
73 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
74 fra
.me
.file
= LOCATE_nitc
;
76 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_cc_no_link
;
79 fra
.me
.REG
[0] = NIT_NULL
;
82 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_cc_no_link(fra
.me
.REG
[0])!=NIT_NULL
);
83 if (UNTAG_Bool(REGB0
)) {
85 nit_abort("Uninitialized attribute %s", "_opt_cc_no_link", LOCATE_nitc
, 34);
87 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_cc_no_link(fra
.me
.REG
[0]);
88 stack_frame_head
= fra
.me
.prev
;
91 val_t
nitc___NitCompiler___opt_global(val_t p0
){
92 struct {struct stack_frame_t me
;} fra
;
95 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
96 fra
.me
.file
= LOCATE_nitc
;
98 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_global
;
101 fra
.me
.REG
[0] = NIT_NULL
;
104 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_global(fra
.me
.REG
[0])!=NIT_NULL
);
105 if (UNTAG_Bool(REGB0
)) {
107 nit_abort("Uninitialized attribute %s", "_opt_global", LOCATE_nitc
, 35);
109 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_global(fra
.me
.REG
[0]);
110 stack_frame_head
= fra
.me
.prev
;
111 return fra
.me
.REG
[0];
113 val_t
nitc___NitCompiler___opt_global_no_STF_opt(val_t p0
){
114 struct {struct stack_frame_t me
;} fra
;
117 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
118 fra
.me
.file
= LOCATE_nitc
;
120 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_global_no_STF_opt
;
121 fra
.me
.has_broke
= 0;
123 fra
.me
.REG
[0] = NIT_NULL
;
126 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_STF_opt(fra
.me
.REG
[0])!=NIT_NULL
);
127 if (UNTAG_Bool(REGB0
)) {
129 nit_abort("Uninitialized attribute %s", "_opt_global_no_STF_opt", LOCATE_nitc
, 36);
131 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_global_no_STF_opt(fra
.me
.REG
[0]);
132 stack_frame_head
= fra
.me
.prev
;
133 return fra
.me
.REG
[0];
135 val_t
nitc___NitCompiler___opt_global_no_DMR_opt(val_t p0
){
136 struct {struct stack_frame_t me
;} fra
;
139 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
140 fra
.me
.file
= LOCATE_nitc
;
142 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_global_no_DMR_opt
;
143 fra
.me
.has_broke
= 0;
145 fra
.me
.REG
[0] = NIT_NULL
;
148 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_DMR_opt(fra
.me
.REG
[0])!=NIT_NULL
);
149 if (UNTAG_Bool(REGB0
)) {
151 nit_abort("Uninitialized attribute %s", "_opt_global_no_DMR_opt", LOCATE_nitc
, 37);
153 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_global_no_DMR_opt(fra
.me
.REG
[0]);
154 stack_frame_head
= fra
.me
.prev
;
155 return fra
.me
.REG
[0];
157 val_t
nitc___NitCompiler___opt_global_no_inline_get_set(val_t p0
){
158 struct {struct stack_frame_t me
;} fra
;
161 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
162 fra
.me
.file
= LOCATE_nitc
;
164 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_global_no_inline_get_set
;
165 fra
.me
.has_broke
= 0;
167 fra
.me
.REG
[0] = NIT_NULL
;
170 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_inline_get_set(fra
.me
.REG
[0])!=NIT_NULL
);
171 if (UNTAG_Bool(REGB0
)) {
173 nit_abort("Uninitialized attribute %s", "_opt_global_no_inline_get_set", LOCATE_nitc
, 38);
175 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_global_no_inline_get_set(fra
.me
.REG
[0]);
176 stack_frame_head
= fra
.me
.prev
;
177 return fra
.me
.REG
[0];
179 val_t
nitc___NitCompiler___opt_global_no_out_of_init_get_test_opt(val_t p0
){
180 struct {struct stack_frame_t me
;} fra
;
183 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
184 fra
.me
.file
= LOCATE_nitc
;
186 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_global_no_out_of_init_get_test_opt
;
187 fra
.me
.has_broke
= 0;
189 fra
.me
.REG
[0] = NIT_NULL
;
192 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_out_of_init_get_test_opt(fra
.me
.REG
[0])!=NIT_NULL
);
193 if (UNTAG_Bool(REGB0
)) {
195 nit_abort("Uninitialized attribute %s", "_opt_global_no_out_of_init_get_test_opt", LOCATE_nitc
, 39);
197 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_global_no_out_of_init_get_test_opt(fra
.me
.REG
[0]);
198 stack_frame_head
= fra
.me
.prev
;
199 return fra
.me
.REG
[0];
201 val_t
nitc___NitCompiler___opt_global_no_RFIMA(val_t p0
){
202 struct {struct stack_frame_t me
;} fra
;
205 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
206 fra
.me
.file
= LOCATE_nitc
;
208 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_global_no_RFIMA
;
209 fra
.me
.has_broke
= 0;
211 fra
.me
.REG
[0] = NIT_NULL
;
214 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_RFIMA(fra
.me
.REG
[0])!=NIT_NULL
);
215 if (UNTAG_Bool(REGB0
)) {
217 nit_abort("Uninitialized attribute %s", "_opt_global_no_RFIMA", LOCATE_nitc
, 40);
219 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_global_no_RFIMA(fra
.me
.REG
[0]);
220 stack_frame_head
= fra
.me
.prev
;
221 return fra
.me
.REG
[0];
223 val_t
nitc___NitCompiler___opt_global_callgraph(val_t p0
){
224 struct {struct stack_frame_t me
;} fra
;
227 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
228 fra
.me
.file
= LOCATE_nitc
;
230 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_global_callgraph
;
231 fra
.me
.has_broke
= 0;
233 fra
.me
.REG
[0] = NIT_NULL
;
236 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_global_callgraph(fra
.me
.REG
[0])!=NIT_NULL
);
237 if (UNTAG_Bool(REGB0
)) {
239 nit_abort("Uninitialized attribute %s", "_opt_global_callgraph", LOCATE_nitc
, 41);
241 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_global_callgraph(fra
.me
.REG
[0]);
242 stack_frame_head
= fra
.me
.prev
;
243 return fra
.me
.REG
[0];
245 val_t
nitc___NitCompiler___opt_clibdir(val_t p0
){
246 struct {struct stack_frame_t me
;} fra
;
249 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
250 fra
.me
.file
= LOCATE_nitc
;
252 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_clibdir
;
253 fra
.me
.has_broke
= 0;
255 fra
.me
.REG
[0] = NIT_NULL
;
258 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_clibdir(fra
.me
.REG
[0])!=NIT_NULL
);
259 if (UNTAG_Bool(REGB0
)) {
261 nit_abort("Uninitialized attribute %s", "_opt_clibdir", LOCATE_nitc
, 42);
263 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_clibdir(fra
.me
.REG
[0]);
264 stack_frame_head
= fra
.me
.prev
;
265 return fra
.me
.REG
[0];
267 val_t
nitc___NitCompiler___opt_bindir(val_t p0
){
268 struct {struct stack_frame_t me
;} fra
;
271 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
272 fra
.me
.file
= LOCATE_nitc
;
274 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_bindir
;
275 fra
.me
.has_broke
= 0;
277 fra
.me
.REG
[0] = NIT_NULL
;
280 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_bindir(fra
.me
.REG
[0])!=NIT_NULL
);
281 if (UNTAG_Bool(REGB0
)) {
283 nit_abort("Uninitialized attribute %s", "_opt_bindir", LOCATE_nitc
, 43);
285 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_bindir(fra
.me
.REG
[0]);
286 stack_frame_head
= fra
.me
.prev
;
287 return fra
.me
.REG
[0];
289 val_t
nitc___NitCompiler___opt_compdir(val_t p0
){
290 struct {struct stack_frame_t me
;} fra
;
293 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
294 fra
.me
.file
= LOCATE_nitc
;
296 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_compdir
;
297 fra
.me
.has_broke
= 0;
299 fra
.me
.REG
[0] = NIT_NULL
;
302 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_compdir(fra
.me
.REG
[0])!=NIT_NULL
);
303 if (UNTAG_Bool(REGB0
)) {
305 nit_abort("Uninitialized attribute %s", "_opt_compdir", LOCATE_nitc
, 44);
307 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_compdir(fra
.me
.REG
[0]);
308 stack_frame_head
= fra
.me
.prev
;
309 return fra
.me
.REG
[0];
311 val_t
nitc___NitCompiler___opt_extension_prefix(val_t p0
){
312 struct {struct stack_frame_t me
;} fra
;
315 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
316 fra
.me
.file
= LOCATE_nitc
;
318 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_extension_prefix
;
319 fra
.me
.has_broke
= 0;
321 fra
.me
.REG
[0] = NIT_NULL
;
324 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_extension_prefix(fra
.me
.REG
[0])!=NIT_NULL
);
325 if (UNTAG_Bool(REGB0
)) {
327 nit_abort("Uninitialized attribute %s", "_opt_extension_prefix", LOCATE_nitc
, 45);
329 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_extension_prefix(fra
.me
.REG
[0]);
330 stack_frame_head
= fra
.me
.prev
;
331 return fra
.me
.REG
[0];
333 val_t
nitc___NitCompiler___opt_output_format(val_t p0
){
334 struct {struct stack_frame_t me
;} fra
;
337 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
338 fra
.me
.file
= LOCATE_nitc
;
340 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_output_format
;
341 fra
.me
.has_broke
= 0;
343 fra
.me
.REG
[0] = NIT_NULL
;
346 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_output_format(fra
.me
.REG
[0])!=NIT_NULL
);
347 if (UNTAG_Bool(REGB0
)) {
349 nit_abort("Uninitialized attribute %s", "_opt_output_format", LOCATE_nitc
, 46);
351 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_output_format(fra
.me
.REG
[0]);
352 stack_frame_head
= fra
.me
.prev
;
353 return fra
.me
.REG
[0];
355 void nitc___NitCompiler___init(val_t p0
, int* init_table
){
356 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_nitc___NitCompiler
].i
;
357 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
360 static val_t once_value_1
; /* Once value */
361 if (init_table
[itpos0
]) return;
362 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
363 fra
.me
.file
= LOCATE_nitc
;
365 fra
.me
.meth
= LOCATE_nitc___NitCompiler___init
;
366 fra
.me
.has_broke
= 0;
368 fra
.me
.REG
[0] = NIT_NULL
;
369 fra
.me
.REG
[1] = NIT_NULL
;
370 fra
.me
.REG
[2] = NIT_NULL
;
371 fra
.me
.REG
[3] = NIT_NULL
;
374 fra
.me
.REG
[1] = fra
.me
.REG
[0];
377 fra
.me
.REG
[2] = BOX_NativeString("nitc");
379 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
380 once_value_1
= fra
.me
.REG
[2];
381 register_static_object(&once_value_1
);
382 } else fra
.me
.REG
[2] = once_value_1
;
383 fra
.me
.REG
[2] = fra
.me
.REG
[2];
384 CALL_abstracttool___AbstractCompiler___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], init_table
);
386 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___option_context(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
388 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
389 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_output(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
390 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
391 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_boost(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
393 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_no_cc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
394 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
395 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_cc_no_link(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
396 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
397 fra
.me
.REG
[3] = CALL_separate_options___ToolContext___opt_cc_libs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
398 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
399 fra
.me
.REG
[3] = CALL_separate_options___ToolContext___opt_cc_lib_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
400 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
401 fra
.me
.REG
[3] = CALL_separate_options___ToolContext___opt_cc_include_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
402 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
403 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
404 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
405 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
406 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
407 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
408 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
409 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
410 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
411 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_extension_prefix(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
412 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
413 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_global_no_STF_opt(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
414 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
415 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_global_no_DMR_opt(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
416 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
417 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_global_callgraph(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
418 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
419 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_global_no_inline_get_set(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
420 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
421 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_global_no_RFIMA(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
422 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
423 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_global_no_out_of_init_get_test_opt(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
424 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
425 fra
.me
.REG
[1] = CALL_nitc___NitCompiler___opt_output_format(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
426 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
427 CALL_opts___OptionContext___add_option(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
428 stack_frame_head
= fra
.me
.prev
;
429 init_table
[itpos0
] = 1;
432 void nitc___NitCompiler___process_options(val_t p0
){
433 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
437 static val_t once_value_1
; /* Once value */
438 static val_t once_value_2
; /* Once value */
439 static val_t once_value_3
; /* Once value */
440 static val_t once_value_4
; /* Once value */
441 static val_t once_value_5
; /* Once value */
442 static val_t once_value_6
; /* Once value */
443 static val_t once_value_7
; /* Once value */
444 static val_t once_value_8
; /* Once value */
445 static val_t once_value_9
; /* Once value */
446 static val_t once_value_10
; /* Once value */
447 static val_t once_value_11
; /* Once value */
448 static val_t once_value_12
; /* Once value */
449 static val_t once_value_13
; /* Once value */
450 static val_t once_value_14
; /* Once value */
451 static val_t once_value_15
; /* Once value */
452 static val_t once_value_16
; /* Once value */
453 static val_t once_value_17
; /* Once value */
454 static val_t once_value_18
; /* Once value */
455 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
456 fra
.me
.file
= LOCATE_nitc
;
458 fra
.me
.meth
= LOCATE_nitc___NitCompiler___process_options
;
459 fra
.me
.has_broke
= 0;
461 fra
.me
.REG
[0] = NIT_NULL
;
462 fra
.me
.REG
[1] = NIT_NULL
;
463 fra
.me
.REG
[2] = NIT_NULL
;
464 fra
.me
.REG
[3] = NIT_NULL
;
467 fra
.me
.REG
[1] = fra
.me
.REG
[0];
469 CALL_SUPER_nitc___NitCompiler___process_options(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
471 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_output(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
472 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
473 CALL_compiling___compiling_base___ToolContext___output_file__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
475 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_boost(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
476 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
477 CALL_compiling___compiling_base___ToolContext___boost__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
479 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_no_cc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
480 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
481 CALL_compiling___compiling_base___ToolContext___no_cc__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
483 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_cc_no_link(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
484 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
485 REGB0
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[0]));
486 CALL_compiling___compiling_base___ToolContext___cc_link__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
488 fra
.me
.REG
[0] = CALL_separate_options___ToolContext___opt_cc_lib_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
489 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
490 CALL_compiling___compiling_base___ToolContext___cc_lib_paths__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
492 fra
.me
.REG
[0] = CALL_separate_options___ToolContext___opt_cc_libs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
493 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
494 CALL_compiling___compiling_base___ToolContext___cc_libs__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
496 fra
.me
.REG
[0] = CALL_separate_options___ToolContext___opt_cc_include_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
497 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
498 CALL_compiling___compiling_base___ToolContext___cc_include_paths__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
500 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_extension_prefix(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
501 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
503 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
504 if (UNTAG_Bool(REGB0
)) {
506 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
507 if (UNTAG_Bool(REGB1
)) {
508 REGB1
= TAG_Bool(false);
511 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
515 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
516 if (UNTAG_Bool(REGB0
)) {
517 CALL_compiling___compiling_base___ToolContext___ext_prefix__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
520 fra
.me
.REG
[0] = BOX_NativeString("");
522 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
523 once_value_1
= fra
.me
.REG
[0];
524 register_static_object(&once_value_1
);
525 } else fra
.me
.REG
[0] = once_value_1
;
526 fra
.me
.REG
[0] = fra
.me
.REG
[0];
527 CALL_compiling___compiling_base___ToolContext___ext_prefix__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
530 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
531 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
532 CALL_program___ToolContext___global__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
534 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_global_no_STF_opt(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
535 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
536 REGB0
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[0]));
537 CALL_program___ToolContext___use_SFT_optimization__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
539 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_global_no_DMR_opt(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
540 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
541 CALL_analysis___ToolContext___no_dead_method_removal__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
543 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_global_no_inline_get_set(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
544 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
545 CALL_analysis___ToolContext___no_inline_get_set__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
547 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_global_no_RFIMA(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
548 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
549 CALL_analysis___ToolContext___no_callgraph_from_init__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
551 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_global_no_out_of_init_get_test_opt(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
552 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
553 CALL_analysis___ToolContext___no_out_of_init_get_test_removal__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
555 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_global_callgraph(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
556 fra
.me
.REG
[0] = CALL_opts___OptionEnum___value_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
557 CALL_analysis___ToolContext___global_callgraph__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
559 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
560 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
561 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
563 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
564 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
565 if (UNTAG_Bool(REGB0
)) {
567 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
568 if (UNTAG_Bool(REGB1
)) {
569 REGB1
= TAG_Bool(false);
572 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
576 if (UNTAG_Bool(REGB0
)) {
580 fra
.me
.REG
[0] = BOX_NativeString("NIT_COMPDIR");
582 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
583 once_value_3
= fra
.me
.REG
[0];
584 register_static_object(&once_value_3
);
585 } else fra
.me
.REG
[0] = once_value_3
;
586 fra
.me
.REG
[0] = fra
.me
.REG
[0];
587 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
588 fra
.me
.REG
[0] = CALL_standard___environ___Symbol___environ(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
589 once_value_2
= fra
.me
.REG
[0];
590 register_static_object(&once_value_2
);
591 } else fra
.me
.REG
[0] = once_value_2
;
592 fra
.me
.REG
[0] = fra
.me
.REG
[0];
594 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
595 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
596 if (UNTAG_Bool(REGB0
)) {
598 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
601 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
602 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
603 if (UNTAG_Bool(REGB0
)) {
605 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
606 if (UNTAG_Bool(REGB1
)) {
607 REGB1
= TAG_Bool(false);
610 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
614 if (UNTAG_Bool(REGB0
)) {
617 fra
.me
.REG
[0] = BOX_NativeString(".nit_compile");
619 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
620 once_value_4
= fra
.me
.REG
[0];
621 register_static_object(&once_value_4
);
622 } else fra
.me
.REG
[0] = once_value_4
;
623 fra
.me
.REG
[0] = fra
.me
.REG
[0];
624 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
628 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
629 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___ext_prefix(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
630 fra
.me
.REG
[2] = CALL_standard___string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
631 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
633 fra
.me
.REG
[2] = CALL_nitc___NitCompiler___opt_clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
634 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
635 CALL_compiling___compiling_base___ToolContext___clibdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
637 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
638 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
639 if (UNTAG_Bool(REGB0
)) {
641 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
642 if (UNTAG_Bool(REGB1
)) {
643 REGB1
= TAG_Bool(false);
646 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
650 if (UNTAG_Bool(REGB0
)) {
654 fra
.me
.REG
[2] = BOX_NativeString("NIT_DIR");
656 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
657 once_value_6
= fra
.me
.REG
[2];
658 register_static_object(&once_value_6
);
659 } else fra
.me
.REG
[2] = once_value_6
;
660 fra
.me
.REG
[2] = fra
.me
.REG
[2];
661 fra
.me
.REG
[2] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
662 fra
.me
.REG
[2] = CALL_standard___environ___Symbol___environ(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
663 once_value_5
= fra
.me
.REG
[2];
664 register_static_object(&once_value_5
);
665 } else fra
.me
.REG
[2] = once_value_5
;
666 fra
.me
.REG
[2] = fra
.me
.REG
[2];
668 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
669 if (UNTAG_Bool(REGB0
)) {
672 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
674 fra
.me
.REG
[3] = BOX_NativeString("");
676 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
677 once_value_7
= fra
.me
.REG
[3];
678 register_static_object(&once_value_7
);
679 } else fra
.me
.REG
[3] = once_value_7
;
680 fra
.me
.REG
[3] = fra
.me
.REG
[3];
681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
682 fra
.me
.REG
[3] = CALL_standard___kernel___Object___sys(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
683 fra
.me
.REG
[3] = CALL_standard___string___Sys___program_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
684 fra
.me
.REG
[3] = CALL_standard___file___String___dirname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
685 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
687 fra
.me
.REG
[3] = BOX_NativeString("/../clib");
689 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
690 once_value_8
= fra
.me
.REG
[3];
691 register_static_object(&once_value_8
);
692 } else fra
.me
.REG
[3] = once_value_8
;
693 fra
.me
.REG
[3] = fra
.me
.REG
[3];
694 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
695 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
696 fra
.me
.REG
[2] = fra
.me
.REG
[0];
698 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
699 if (UNTAG_Bool(REGB0
)) {
700 CALL_compiling___compiling_base___ToolContext___clibdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
705 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
707 fra
.me
.REG
[3] = BOX_NativeString("");
709 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
710 once_value_9
= fra
.me
.REG
[3];
711 register_static_object(&once_value_9
);
712 } else fra
.me
.REG
[3] = once_value_9
;
713 fra
.me
.REG
[3] = fra
.me
.REG
[3];
714 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
715 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
716 if (!once_value_10
) {
717 fra
.me
.REG
[3] = BOX_NativeString("/clib");
719 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
720 once_value_10
= fra
.me
.REG
[3];
721 register_static_object(&once_value_10
);
722 } else fra
.me
.REG
[3] = once_value_10
;
723 fra
.me
.REG
[3] = fra
.me
.REG
[3];
724 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
725 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
726 fra
.me
.REG
[2] = fra
.me
.REG
[0];
728 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
729 if (UNTAG_Bool(REGB0
)) {
730 CALL_compiling___compiling_base___ToolContext___clibdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
734 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
735 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
736 if (UNTAG_Bool(REGB0
)) {
738 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
739 if (UNTAG_Bool(REGB1
)) {
740 REGB1
= TAG_Bool(false);
743 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
747 if (UNTAG_Bool(REGB0
)) {
749 if (!once_value_11
) {
750 fra
.me
.REG
[2] = BOX_NativeString("Error: Cannot locate NIT C library directory. Uses --clibdir or envvar NIT_DIR.");
752 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
753 once_value_11
= fra
.me
.REG
[2];
754 register_static_object(&once_value_11
);
755 } else fra
.me
.REG
[2] = once_value_11
;
756 fra
.me
.REG
[2] = fra
.me
.REG
[2];
757 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[2]);
761 fra
.me
.REG
[2] = CALL_nitc___NitCompiler___opt_bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
762 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
763 CALL_compiling___compiling_base___ToolContext___bindir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
765 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
766 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
767 if (UNTAG_Bool(REGB0
)) {
769 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
770 if (UNTAG_Bool(REGB1
)) {
771 REGB1
= TAG_Bool(false);
774 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
778 if (UNTAG_Bool(REGB0
)) {
780 if (!once_value_12
) {
781 if (!once_value_13
) {
782 fra
.me
.REG
[2] = BOX_NativeString("NIT_DIR");
784 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
785 once_value_13
= fra
.me
.REG
[2];
786 register_static_object(&once_value_13
);
787 } else fra
.me
.REG
[2] = once_value_13
;
788 fra
.me
.REG
[2] = fra
.me
.REG
[2];
789 fra
.me
.REG
[2] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
790 fra
.me
.REG
[2] = CALL_standard___environ___Symbol___environ(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
791 once_value_12
= fra
.me
.REG
[2];
792 register_static_object(&once_value_12
);
793 } else fra
.me
.REG
[2] = once_value_12
;
794 fra
.me
.REG
[2] = fra
.me
.REG
[2];
796 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
797 if (UNTAG_Bool(REGB0
)) {
800 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
801 if (!once_value_14
) {
802 fra
.me
.REG
[3] = BOX_NativeString("");
804 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
805 once_value_14
= fra
.me
.REG
[3];
806 register_static_object(&once_value_14
);
807 } else fra
.me
.REG
[3] = once_value_14
;
808 fra
.me
.REG
[3] = fra
.me
.REG
[3];
809 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
810 fra
.me
.REG
[3] = CALL_standard___kernel___Object___sys(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
811 fra
.me
.REG
[3] = CALL_standard___string___Sys___program_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
812 fra
.me
.REG
[3] = CALL_standard___file___String___dirname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
813 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
814 if (!once_value_15
) {
815 fra
.me
.REG
[3] = BOX_NativeString("/../bin");
817 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
818 once_value_15
= fra
.me
.REG
[3];
819 register_static_object(&once_value_15
);
820 } else fra
.me
.REG
[3] = once_value_15
;
821 fra
.me
.REG
[3] = fra
.me
.REG
[3];
822 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
823 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
824 fra
.me
.REG
[2] = fra
.me
.REG
[0];
826 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
827 if (UNTAG_Bool(REGB0
)) {
828 CALL_compiling___compiling_base___ToolContext___bindir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
833 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
834 if (!once_value_16
) {
835 fra
.me
.REG
[3] = BOX_NativeString("");
837 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
838 once_value_16
= fra
.me
.REG
[3];
839 register_static_object(&once_value_16
);
840 } else fra
.me
.REG
[3] = once_value_16
;
841 fra
.me
.REG
[3] = fra
.me
.REG
[3];
842 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
843 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
844 if (!once_value_17
) {
845 fra
.me
.REG
[3] = BOX_NativeString("/bin");
847 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
848 once_value_17
= fra
.me
.REG
[3];
849 register_static_object(&once_value_17
);
850 } else fra
.me
.REG
[3] = once_value_17
;
851 fra
.me
.REG
[3] = fra
.me
.REG
[3];
852 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
853 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
854 fra
.me
.REG
[2] = fra
.me
.REG
[0];
856 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
857 if (UNTAG_Bool(REGB0
)) {
858 CALL_compiling___compiling_base___ToolContext___bindir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
862 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
863 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
864 if (UNTAG_Bool(REGB0
)) {
866 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
867 if (UNTAG_Bool(REGB1
)) {
868 REGB1
= TAG_Bool(false);
871 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
875 if (UNTAG_Bool(REGB0
)) {
877 if (!once_value_18
) {
878 fra
.me
.REG
[2] = BOX_NativeString("Error: Cannot locate NIT tools directory. Uses --bindir or envvar NIT_DIR.");
880 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
881 once_value_18
= fra
.me
.REG
[2];
882 register_static_object(&once_value_18
);
883 } else fra
.me
.REG
[2] = once_value_18
;
884 fra
.me
.REG
[2] = fra
.me
.REG
[2];
885 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[2]);
888 stack_frame_head
= fra
.me
.prev
;
891 void nitc___NitCompiler___perform_work(val_t p0
, val_t p1
){
892 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
897 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
898 fra
.me
.file
= LOCATE_nitc
;
900 fra
.me
.meth
= LOCATE_nitc___NitCompiler___perform_work
;
901 fra
.me
.has_broke
= 0;
903 fra
.me
.REG
[0] = NIT_NULL
;
904 fra
.me
.REG
[1] = NIT_NULL
;
905 fra
.me
.REG
[2] = NIT_NULL
;
906 fra
.me
.REG
[3] = NIT_NULL
;
907 fra
.me
.REG
[4] = NIT_NULL
;
910 /* ./../lib/standard//collection//array.nit:269 */
912 /* ./../lib/standard//collection//array.nit:270 */
913 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
914 if (UNTAG_Bool(REGB1
)) {
916 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
918 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
919 /* ./../lib/standard//collection//array.nit:271 */
920 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
921 /* ./../lib/standard//collection//array.nit:272 */
923 /* ./../lib/standard//collection//array.nit:24 */
924 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
925 if (UNTAG_Bool(REGB1
)) {
927 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
929 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
930 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
931 if (UNTAG_Bool(REGB2
)) {
933 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
935 /* ./../lib/standard//kernel.nit:232 */
936 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
937 /* ./../lib/standard//collection//array.nit:272 */
938 if (UNTAG_Bool(REGB1
)) {
939 /* ./../lib/standard//collection//array.nit:273 */
940 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
941 if (UNTAG_Bool(REGB1
)) {
942 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
944 /* ./../lib/standard//collection//array.nit:718 */
945 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
947 fra
.me
.REG
[3] = NEW_Program_program___Program___init(fra
.me
.REG
[3], fra
.me
.REG
[0]);
949 fra
.me
.REG
[4] = CALL_nitc___NitCompiler___opt_output_format(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
950 fra
.me
.REG
[4] = CALL_opts___OptionEnum___value_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
951 CALL_compiling___Program___output_format__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
953 CALL_program___Program___compute_main_method(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
955 CALL_program___Program___generate_allocation_iroutines(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
957 REGB1
= CALL_program___ToolContext___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
958 if (UNTAG_Bool(REGB1
)) {
960 CALL_analysis___Program___do_global_pre_analysis_optimizations(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
962 CALL_analysis___Program___do_global_analysis(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
964 CALL_analysis___Program___do_global_post_analysis_optimizations(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
966 fra
.me
.REG
[4] = CALL_mmloader___ToolContext___opt_log(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
967 fra
.me
.REG
[4] = CALL_opts___Option___value(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
968 if (UNTAG_Bool(fra
.me
.REG
[4])) {
970 fra
.me
.REG
[4] = CALL_mmloader___ToolContext___log_directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
971 CALL_analysis___Program___dump_global_optimizations_information(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
973 fra
.me
.REG
[4] = CALL_mmloader___ToolContext___log_directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
974 CALL_analysis___Program___dump_global_analysis_information(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
978 CALL_compiling___table_computation___Program___do_table_computation(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
980 CALL_compiling___Program___compile_prog(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
981 /* ./../lib/standard//collection//array.nit:274 */
983 /* ./../lib/standard//kernel.nit:235 */
984 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
985 /* ./../lib/standard//collection//array.nit:274 */
988 /* ./../lib/standard//collection//array.nit:272 */
993 stack_frame_head
= fra
.me
.prev
;
996 void nitc___Sys___main(val_t p0
){
997 struct {struct stack_frame_t me
;} fra
;
999 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1000 fra
.me
.file
= LOCATE_nitc
;
1002 fra
.me
.meth
= LOCATE_nitc___Sys___main
;
1003 fra
.me
.has_broke
= 0;
1004 fra
.me
.REG_size
= 1;
1005 fra
.me
.REG
[0] = NIT_NULL
;
1007 /* ./nitc.nit:138 */
1008 fra
.me
.REG
[0] = NEW_NitCompiler_nitc___NitCompiler___init();
1009 /* ./nitc.nit:139 */
1010 CALL_abstracttool___AbstractCompiler___exec_cmd_line(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1011 stack_frame_head
= fra
.me
.prev
;