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
, 29);
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
, 30);
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
, 31);
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
, 32);
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_cc_lib_paths(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_cc_lib_paths
;
101 fra
.me
.REG
[0] = NIT_NULL
;
104 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_cc_lib_paths(fra
.me
.REG
[0])!=NIT_NULL
);
105 if (UNTAG_Bool(REGB0
)) {
107 nit_abort("Uninitialized attribute %s", "_opt_cc_lib_paths", LOCATE_nitc
, 33);
109 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_cc_lib_paths(fra
.me
.REG
[0]);
110 stack_frame_head
= fra
.me
.prev
;
111 return fra
.me
.REG
[0];
113 val_t
nitc___NitCompiler___opt_cc_libs(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_cc_libs
;
121 fra
.me
.has_broke
= 0;
123 fra
.me
.REG
[0] = NIT_NULL
;
126 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_cc_libs(fra
.me
.REG
[0])!=NIT_NULL
);
127 if (UNTAG_Bool(REGB0
)) {
129 nit_abort("Uninitialized attribute %s", "_opt_cc_libs", LOCATE_nitc
, 34);
131 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_cc_libs(fra
.me
.REG
[0]);
132 stack_frame_head
= fra
.me
.prev
;
133 return fra
.me
.REG
[0];
135 val_t
nitc___NitCompiler___opt_cc_include_paths(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_cc_include_paths
;
143 fra
.me
.has_broke
= 0;
145 fra
.me
.REG
[0] = NIT_NULL
;
148 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_cc_include_paths(fra
.me
.REG
[0])!=NIT_NULL
);
149 if (UNTAG_Bool(REGB0
)) {
151 nit_abort("Uninitialized attribute %s", "_opt_cc_include_paths", LOCATE_nitc
, 35);
153 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_cc_include_paths(fra
.me
.REG
[0]);
154 stack_frame_head
= fra
.me
.prev
;
155 return fra
.me
.REG
[0];
157 val_t
nitc___NitCompiler___opt_global(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
;
165 fra
.me
.has_broke
= 0;
167 fra
.me
.REG
[0] = NIT_NULL
;
170 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_global(fra
.me
.REG
[0])!=NIT_NULL
);
171 if (UNTAG_Bool(REGB0
)) {
173 nit_abort("Uninitialized attribute %s", "_opt_global", LOCATE_nitc
, 36);
175 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_global(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_STF_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_STF_opt
;
187 fra
.me
.has_broke
= 0;
189 fra
.me
.REG
[0] = NIT_NULL
;
192 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_STF_opt(fra
.me
.REG
[0])!=NIT_NULL
);
193 if (UNTAG_Bool(REGB0
)) {
195 nit_abort("Uninitialized attribute %s", "_opt_global_no_STF_opt", LOCATE_nitc
, 37);
197 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_global_no_STF_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_DMR_opt(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_DMR_opt
;
209 fra
.me
.has_broke
= 0;
211 fra
.me
.REG
[0] = NIT_NULL
;
214 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_DMR_opt(fra
.me
.REG
[0])!=NIT_NULL
);
215 if (UNTAG_Bool(REGB0
)) {
217 nit_abort("Uninitialized attribute %s", "_opt_global_no_DMR_opt", LOCATE_nitc
, 38);
219 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_global_no_DMR_opt(fra
.me
.REG
[0]);
220 stack_frame_head
= fra
.me
.prev
;
221 return fra
.me
.REG
[0];
223 val_t
nitc___NitCompiler___opt_global_no_inline_get_set(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_no_inline_get_set
;
231 fra
.me
.has_broke
= 0;
233 fra
.me
.REG
[0] = NIT_NULL
;
236 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_inline_get_set(fra
.me
.REG
[0])!=NIT_NULL
);
237 if (UNTAG_Bool(REGB0
)) {
239 nit_abort("Uninitialized attribute %s", "_opt_global_no_inline_get_set", LOCATE_nitc
, 39);
241 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_global_no_inline_get_set(fra
.me
.REG
[0]);
242 stack_frame_head
= fra
.me
.prev
;
243 return fra
.me
.REG
[0];
245 val_t
nitc___NitCompiler___opt_global_no_out_of_init_get_test_opt(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_global_no_out_of_init_get_test_opt
;
253 fra
.me
.has_broke
= 0;
255 fra
.me
.REG
[0] = NIT_NULL
;
258 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_out_of_init_get_test_opt(fra
.me
.REG
[0])!=NIT_NULL
);
259 if (UNTAG_Bool(REGB0
)) {
261 nit_abort("Uninitialized attribute %s", "_opt_global_no_out_of_init_get_test_opt", LOCATE_nitc
, 40);
263 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_global_no_out_of_init_get_test_opt(fra
.me
.REG
[0]);
264 stack_frame_head
= fra
.me
.prev
;
265 return fra
.me
.REG
[0];
267 val_t
nitc___NitCompiler___opt_global_no_RFIMA(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_global_no_RFIMA
;
275 fra
.me
.has_broke
= 0;
277 fra
.me
.REG
[0] = NIT_NULL
;
280 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_RFIMA(fra
.me
.REG
[0])!=NIT_NULL
);
281 if (UNTAG_Bool(REGB0
)) {
283 nit_abort("Uninitialized attribute %s", "_opt_global_no_RFIMA", LOCATE_nitc
, 41);
285 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_global_no_RFIMA(fra
.me
.REG
[0]);
286 stack_frame_head
= fra
.me
.prev
;
287 return fra
.me
.REG
[0];
289 val_t
nitc___NitCompiler___opt_global_callgraph(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_global_callgraph
;
297 fra
.me
.has_broke
= 0;
299 fra
.me
.REG
[0] = NIT_NULL
;
302 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_global_callgraph(fra
.me
.REG
[0])!=NIT_NULL
);
303 if (UNTAG_Bool(REGB0
)) {
305 nit_abort("Uninitialized attribute %s", "_opt_global_callgraph", LOCATE_nitc
, 42);
307 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_global_callgraph(fra
.me
.REG
[0]);
308 stack_frame_head
= fra
.me
.prev
;
309 return fra
.me
.REG
[0];
311 val_t
nitc___NitCompiler___opt_clibdir(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_clibdir
;
319 fra
.me
.has_broke
= 0;
321 fra
.me
.REG
[0] = NIT_NULL
;
324 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_clibdir(fra
.me
.REG
[0])!=NIT_NULL
);
325 if (UNTAG_Bool(REGB0
)) {
327 nit_abort("Uninitialized attribute %s", "_opt_clibdir", LOCATE_nitc
, 43);
329 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_clibdir(fra
.me
.REG
[0]);
330 stack_frame_head
= fra
.me
.prev
;
331 return fra
.me
.REG
[0];
333 val_t
nitc___NitCompiler___opt_bindir(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_bindir
;
341 fra
.me
.has_broke
= 0;
343 fra
.me
.REG
[0] = NIT_NULL
;
346 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_bindir(fra
.me
.REG
[0])!=NIT_NULL
);
347 if (UNTAG_Bool(REGB0
)) {
349 nit_abort("Uninitialized attribute %s", "_opt_bindir", LOCATE_nitc
, 44);
351 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_bindir(fra
.me
.REG
[0]);
352 stack_frame_head
= fra
.me
.prev
;
353 return fra
.me
.REG
[0];
355 val_t
nitc___NitCompiler___opt_compdir(val_t p0
){
356 struct {struct stack_frame_t me
;} fra
;
359 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
360 fra
.me
.file
= LOCATE_nitc
;
362 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_compdir
;
363 fra
.me
.has_broke
= 0;
365 fra
.me
.REG
[0] = NIT_NULL
;
368 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_compdir(fra
.me
.REG
[0])!=NIT_NULL
);
369 if (UNTAG_Bool(REGB0
)) {
371 nit_abort("Uninitialized attribute %s", "_opt_compdir", LOCATE_nitc
, 45);
373 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_compdir(fra
.me
.REG
[0]);
374 stack_frame_head
= fra
.me
.prev
;
375 return fra
.me
.REG
[0];
377 val_t
nitc___NitCompiler___opt_extension_prefix(val_t p0
){
378 struct {struct stack_frame_t me
;} fra
;
381 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
382 fra
.me
.file
= LOCATE_nitc
;
384 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_extension_prefix
;
385 fra
.me
.has_broke
= 0;
387 fra
.me
.REG
[0] = NIT_NULL
;
390 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_extension_prefix(fra
.me
.REG
[0])!=NIT_NULL
);
391 if (UNTAG_Bool(REGB0
)) {
393 nit_abort("Uninitialized attribute %s", "_opt_extension_prefix", LOCATE_nitc
, 46);
395 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_extension_prefix(fra
.me
.REG
[0]);
396 stack_frame_head
= fra
.me
.prev
;
397 return fra
.me
.REG
[0];
399 val_t
nitc___NitCompiler___opt_output_format(val_t p0
){
400 struct {struct stack_frame_t me
;} fra
;
403 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
404 fra
.me
.file
= LOCATE_nitc
;
406 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_output_format
;
407 fra
.me
.has_broke
= 0;
409 fra
.me
.REG
[0] = NIT_NULL
;
412 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_output_format(fra
.me
.REG
[0])!=NIT_NULL
);
413 if (UNTAG_Bool(REGB0
)) {
415 nit_abort("Uninitialized attribute %s", "_opt_output_format", LOCATE_nitc
, 47);
417 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_output_format(fra
.me
.REG
[0]);
418 stack_frame_head
= fra
.me
.prev
;
419 return fra
.me
.REG
[0];
421 void nitc___NitCompiler___init(val_t p0
, int* init_table
){
422 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_NitCompiler
].i
;
423 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
426 static val_t once_value_1
; /* Once value */
427 if (init_table
[itpos0
]) return;
428 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
429 fra
.me
.file
= LOCATE_nitc
;
431 fra
.me
.meth
= LOCATE_nitc___NitCompiler___init
;
432 fra
.me
.has_broke
= 0;
434 fra
.me
.REG
[0] = NIT_NULL
;
435 fra
.me
.REG
[1] = NIT_NULL
;
436 fra
.me
.REG
[2] = NIT_NULL
;
437 fra
.me
.REG
[3] = NIT_NULL
;
440 fra
.me
.REG
[1] = fra
.me
.REG
[0];
443 fra
.me
.REG
[2] = BOX_NativeString("nitc");
445 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
446 once_value_1
= fra
.me
.REG
[2];
447 register_static_object(&once_value_1
);
448 } else fra
.me
.REG
[2] = once_value_1
;
449 fra
.me
.REG
[2] = fra
.me
.REG
[2];
450 CALL_abstracttool___AbstractCompiler___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], init_table
);
452 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___option_context(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
454 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
455 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_output(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
456 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
457 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_boost(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
458 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
459 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_no_cc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
460 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
461 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_cc_no_link(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
462 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
463 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_cc_libs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
464 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
465 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_cc_lib_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
466 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
467 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_cc_include_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
468 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
469 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
470 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
471 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
472 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
473 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
474 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
475 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
476 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
477 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_extension_prefix(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
478 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
479 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_global_no_STF_opt(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
480 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
481 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_global_no_DMR_opt(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
482 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
483 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_global_callgraph(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
484 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
485 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_global_no_inline_get_set(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
486 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
487 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_global_no_RFIMA(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
488 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
489 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_global_no_out_of_init_get_test_opt(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
490 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
491 fra
.me
.REG
[1] = CALL_nitc___NitCompiler___opt_output_format(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
492 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
493 CALL_opts___OptionContext___add_option(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
494 stack_frame_head
= fra
.me
.prev
;
495 init_table
[itpos0
] = 1;
498 void nitc___NitCompiler___process_options(val_t p0
){
499 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
503 static val_t once_value_1
; /* Once value */
504 static val_t once_value_2
; /* Once value */
505 static val_t once_value_3
; /* Once value */
506 static val_t once_value_4
; /* Once value */
507 static val_t once_value_5
; /* Once value */
508 static val_t once_value_6
; /* Once value */
509 static val_t once_value_7
; /* Once value */
510 static val_t once_value_8
; /* Once value */
511 static val_t once_value_9
; /* Once value */
512 static val_t once_value_10
; /* Once value */
513 static val_t once_value_11
; /* Once value */
514 static val_t once_value_12
; /* Once value */
515 static val_t once_value_13
; /* Once value */
516 static val_t once_value_14
; /* Once value */
517 static val_t once_value_15
; /* Once value */
518 static val_t once_value_16
; /* Once value */
519 static val_t once_value_17
; /* Once value */
520 static val_t once_value_18
; /* Once value */
521 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
522 fra
.me
.file
= LOCATE_nitc
;
524 fra
.me
.meth
= LOCATE_nitc___NitCompiler___process_options
;
525 fra
.me
.has_broke
= 0;
527 fra
.me
.REG
[0] = NIT_NULL
;
528 fra
.me
.REG
[1] = NIT_NULL
;
529 fra
.me
.REG
[2] = NIT_NULL
;
530 fra
.me
.REG
[3] = NIT_NULL
;
533 fra
.me
.REG
[1] = fra
.me
.REG
[0];
535 CALL_SUPER_nitc___NitCompiler___process_options(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
537 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_output(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
538 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
539 CALL_compiling_base___ToolContext___output_file__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
541 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_boost(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
542 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
543 CALL_compiling_base___ToolContext___boost__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
545 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_no_cc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
546 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
547 CALL_compiling_base___ToolContext___no_cc__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
549 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_cc_no_link(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
550 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
551 REGB0
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[0]));
552 CALL_compiling_base___ToolContext___cc_link__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
554 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_cc_lib_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
555 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
556 CALL_compiling_base___ToolContext___cc_lib_paths__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
558 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_cc_libs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
559 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
560 CALL_compiling_base___ToolContext___cc_libs__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
562 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_cc_include_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
563 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
564 CALL_compiling_base___ToolContext___cc_include_paths__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
566 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_extension_prefix(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
567 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
569 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
570 if (UNTAG_Bool(REGB0
)) {
572 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
573 if (UNTAG_Bool(REGB1
)) {
574 REGB1
= TAG_Bool(false);
577 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
581 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
582 if (UNTAG_Bool(REGB0
)) {
583 CALL_compiling_base___ToolContext___ext_prefix__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
586 fra
.me
.REG
[0] = BOX_NativeString("");
588 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
589 once_value_1
= fra
.me
.REG
[0];
590 register_static_object(&once_value_1
);
591 } else fra
.me
.REG
[0] = once_value_1
;
592 fra
.me
.REG
[0] = fra
.me
.REG
[0];
593 CALL_compiling_base___ToolContext___ext_prefix__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
596 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
597 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
598 CALL_program___ToolContext___global__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
600 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_global_no_STF_opt(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
601 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
602 REGB0
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[0]));
603 CALL_program___ToolContext___use_SFT_optimization__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
605 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_global_no_DMR_opt(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
606 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
607 CALL_analysis___ToolContext___no_dead_method_removal__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
609 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_global_no_inline_get_set(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
610 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
611 CALL_analysis___ToolContext___no_inline_get_set__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
613 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_global_no_RFIMA(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
614 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
615 CALL_analysis___ToolContext___no_callgraph_from_init__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
617 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_global_no_out_of_init_get_test_opt(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
618 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
619 CALL_analysis___ToolContext___no_out_of_init_get_test_removal__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
621 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_global_callgraph(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
622 fra
.me
.REG
[0] = CALL_opts___OptionEnum___value_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
623 CALL_analysis___ToolContext___global_callgraph__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
625 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
626 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
627 CALL_compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
629 fra
.me
.REG
[0] = CALL_compiling_base___ToolContext___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
630 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
631 if (UNTAG_Bool(REGB0
)) {
633 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
634 if (UNTAG_Bool(REGB1
)) {
635 REGB1
= TAG_Bool(false);
638 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
642 if (UNTAG_Bool(REGB0
)) {
646 fra
.me
.REG
[0] = BOX_NativeString("NIT_COMPDIR");
648 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
649 once_value_3
= fra
.me
.REG
[0];
650 register_static_object(&once_value_3
);
651 } else fra
.me
.REG
[0] = once_value_3
;
652 fra
.me
.REG
[0] = fra
.me
.REG
[0];
653 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
654 fra
.me
.REG
[0] = CALL_environ___Symbol___environ(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
655 once_value_2
= fra
.me
.REG
[0];
656 register_static_object(&once_value_2
);
657 } else fra
.me
.REG
[0] = once_value_2
;
658 fra
.me
.REG
[0] = fra
.me
.REG
[0];
660 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
661 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
662 if (UNTAG_Bool(REGB0
)) {
664 CALL_compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
667 fra
.me
.REG
[0] = CALL_compiling_base___ToolContext___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
668 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
669 if (UNTAG_Bool(REGB0
)) {
671 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
672 if (UNTAG_Bool(REGB1
)) {
673 REGB1
= TAG_Bool(false);
676 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
680 if (UNTAG_Bool(REGB0
)) {
683 fra
.me
.REG
[0] = BOX_NativeString(".nit_compile");
685 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
686 once_value_4
= fra
.me
.REG
[0];
687 register_static_object(&once_value_4
);
688 } else fra
.me
.REG
[0] = once_value_4
;
689 fra
.me
.REG
[0] = fra
.me
.REG
[0];
690 CALL_compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
694 fra
.me
.REG
[0] = CALL_compiling_base___ToolContext___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
695 fra
.me
.REG
[2] = CALL_compiling_base___ToolContext___ext_prefix(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
696 fra
.me
.REG
[2] = CALL_string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
697 CALL_compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
699 fra
.me
.REG
[2] = CALL_nitc___NitCompiler___opt_clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
700 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
701 CALL_compiling_base___ToolContext___clibdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
703 fra
.me
.REG
[2] = CALL_compiling_base___ToolContext___clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
704 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
705 if (UNTAG_Bool(REGB0
)) {
707 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
708 if (UNTAG_Bool(REGB1
)) {
709 REGB1
= TAG_Bool(false);
712 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
716 if (UNTAG_Bool(REGB0
)) {
720 fra
.me
.REG
[2] = BOX_NativeString("NIT_DIR");
722 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
723 once_value_6
= fra
.me
.REG
[2];
724 register_static_object(&once_value_6
);
725 } else fra
.me
.REG
[2] = once_value_6
;
726 fra
.me
.REG
[2] = fra
.me
.REG
[2];
727 fra
.me
.REG
[2] = CALL_symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
728 fra
.me
.REG
[2] = CALL_environ___Symbol___environ(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
729 once_value_5
= fra
.me
.REG
[2];
730 register_static_object(&once_value_5
);
731 } else fra
.me
.REG
[2] = once_value_5
;
732 fra
.me
.REG
[2] = fra
.me
.REG
[2];
734 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
735 if (UNTAG_Bool(REGB0
)) {
738 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
740 fra
.me
.REG
[3] = BOX_NativeString("");
742 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
743 once_value_7
= fra
.me
.REG
[3];
744 register_static_object(&once_value_7
);
745 } else fra
.me
.REG
[3] = once_value_7
;
746 fra
.me
.REG
[3] = fra
.me
.REG
[3];
747 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
748 fra
.me
.REG
[3] = CALL_kernel___Object___sys(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
749 fra
.me
.REG
[3] = CALL_string___Sys___program_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
750 fra
.me
.REG
[3] = CALL_file___String___dirname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
751 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
753 fra
.me
.REG
[3] = BOX_NativeString("/../clib");
755 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
756 once_value_8
= fra
.me
.REG
[3];
757 register_static_object(&once_value_8
);
758 } else fra
.me
.REG
[3] = once_value_8
;
759 fra
.me
.REG
[3] = fra
.me
.REG
[3];
760 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
761 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
762 fra
.me
.REG
[2] = fra
.me
.REG
[0];
764 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
765 if (UNTAG_Bool(REGB0
)) {
766 CALL_compiling_base___ToolContext___clibdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
771 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
773 fra
.me
.REG
[3] = BOX_NativeString("");
775 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
776 once_value_9
= fra
.me
.REG
[3];
777 register_static_object(&once_value_9
);
778 } else fra
.me
.REG
[3] = once_value_9
;
779 fra
.me
.REG
[3] = fra
.me
.REG
[3];
780 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
781 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
782 if (!once_value_10
) {
783 fra
.me
.REG
[3] = BOX_NativeString("/clib");
785 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
786 once_value_10
= fra
.me
.REG
[3];
787 register_static_object(&once_value_10
);
788 } else fra
.me
.REG
[3] = once_value_10
;
789 fra
.me
.REG
[3] = fra
.me
.REG
[3];
790 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
791 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
792 fra
.me
.REG
[2] = fra
.me
.REG
[0];
794 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
795 if (UNTAG_Bool(REGB0
)) {
796 CALL_compiling_base___ToolContext___clibdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
800 fra
.me
.REG
[2] = CALL_compiling_base___ToolContext___clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
801 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
802 if (UNTAG_Bool(REGB0
)) {
804 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
805 if (UNTAG_Bool(REGB1
)) {
806 REGB1
= TAG_Bool(false);
809 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
813 if (UNTAG_Bool(REGB0
)) {
815 if (!once_value_11
) {
816 fra
.me
.REG
[2] = BOX_NativeString("Error: Cannot locate NIT C library directory. Uses --clibdir or envvar NIT_DIR.");
818 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
819 once_value_11
= fra
.me
.REG
[2];
820 register_static_object(&once_value_11
);
821 } else fra
.me
.REG
[2] = once_value_11
;
822 fra
.me
.REG
[2] = fra
.me
.REG
[2];
823 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[2]);
827 fra
.me
.REG
[2] = CALL_nitc___NitCompiler___opt_bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
828 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
829 CALL_compiling_base___ToolContext___bindir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
831 fra
.me
.REG
[2] = CALL_compiling_base___ToolContext___bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
832 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
833 if (UNTAG_Bool(REGB0
)) {
835 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
836 if (UNTAG_Bool(REGB1
)) {
837 REGB1
= TAG_Bool(false);
840 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
844 if (UNTAG_Bool(REGB0
)) {
846 if (!once_value_12
) {
847 if (!once_value_13
) {
848 fra
.me
.REG
[2] = BOX_NativeString("NIT_DIR");
850 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
851 once_value_13
= fra
.me
.REG
[2];
852 register_static_object(&once_value_13
);
853 } else fra
.me
.REG
[2] = once_value_13
;
854 fra
.me
.REG
[2] = fra
.me
.REG
[2];
855 fra
.me
.REG
[2] = CALL_symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
856 fra
.me
.REG
[2] = CALL_environ___Symbol___environ(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
857 once_value_12
= fra
.me
.REG
[2];
858 register_static_object(&once_value_12
);
859 } else fra
.me
.REG
[2] = once_value_12
;
860 fra
.me
.REG
[2] = fra
.me
.REG
[2];
862 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
863 if (UNTAG_Bool(REGB0
)) {
866 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
867 if (!once_value_14
) {
868 fra
.me
.REG
[3] = BOX_NativeString("");
870 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
871 once_value_14
= fra
.me
.REG
[3];
872 register_static_object(&once_value_14
);
873 } else fra
.me
.REG
[3] = once_value_14
;
874 fra
.me
.REG
[3] = fra
.me
.REG
[3];
875 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
876 fra
.me
.REG
[3] = CALL_kernel___Object___sys(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
877 fra
.me
.REG
[3] = CALL_string___Sys___program_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
878 fra
.me
.REG
[3] = CALL_file___String___dirname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
879 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
880 if (!once_value_15
) {
881 fra
.me
.REG
[3] = BOX_NativeString("/../bin");
883 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
884 once_value_15
= fra
.me
.REG
[3];
885 register_static_object(&once_value_15
);
886 } else fra
.me
.REG
[3] = once_value_15
;
887 fra
.me
.REG
[3] = fra
.me
.REG
[3];
888 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
889 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
890 fra
.me
.REG
[2] = fra
.me
.REG
[0];
892 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
893 if (UNTAG_Bool(REGB0
)) {
894 CALL_compiling_base___ToolContext___bindir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
899 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
900 if (!once_value_16
) {
901 fra
.me
.REG
[3] = BOX_NativeString("");
903 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
904 once_value_16
= fra
.me
.REG
[3];
905 register_static_object(&once_value_16
);
906 } else fra
.me
.REG
[3] = once_value_16
;
907 fra
.me
.REG
[3] = fra
.me
.REG
[3];
908 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
909 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
910 if (!once_value_17
) {
911 fra
.me
.REG
[3] = BOX_NativeString("/bin");
913 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
914 once_value_17
= fra
.me
.REG
[3];
915 register_static_object(&once_value_17
);
916 } else fra
.me
.REG
[3] = once_value_17
;
917 fra
.me
.REG
[3] = fra
.me
.REG
[3];
918 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
919 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
920 fra
.me
.REG
[2] = fra
.me
.REG
[0];
922 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
923 if (UNTAG_Bool(REGB0
)) {
924 CALL_compiling_base___ToolContext___bindir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
928 fra
.me
.REG
[2] = CALL_compiling_base___ToolContext___bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
929 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
930 if (UNTAG_Bool(REGB0
)) {
932 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
933 if (UNTAG_Bool(REGB1
)) {
934 REGB1
= TAG_Bool(false);
937 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
941 if (UNTAG_Bool(REGB0
)) {
943 if (!once_value_18
) {
944 fra
.me
.REG
[2] = BOX_NativeString("Error: Cannot locate NIT tools directory. Uses --bindir or envvar NIT_DIR.");
946 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
947 once_value_18
= fra
.me
.REG
[2];
948 register_static_object(&once_value_18
);
949 } else fra
.me
.REG
[2] = once_value_18
;
950 fra
.me
.REG
[2] = fra
.me
.REG
[2];
951 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[2]);
954 stack_frame_head
= fra
.me
.prev
;
957 void nitc___NitCompiler___perform_work(val_t p0
, val_t p1
){
958 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
962 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
963 fra
.me
.file
= LOCATE_nitc
;
965 fra
.me
.meth
= LOCATE_nitc___NitCompiler___perform_work
;
966 fra
.me
.has_broke
= 0;
968 fra
.me
.REG
[0] = NIT_NULL
;
969 fra
.me
.REG
[1] = NIT_NULL
;
970 fra
.me
.REG
[2] = NIT_NULL
;
971 fra
.me
.REG
[3] = NIT_NULL
;
972 fra
.me
.REG
[4] = NIT_NULL
;
975 /* ./../lib/standard//collection//array.nit:234 */
977 /* ./../lib/standard//collection//array.nit:235 */
978 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
979 if (UNTAG_Bool(REGB1
)) {
981 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
983 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
984 /* ./../lib/standard//collection//array.nit:236 */
985 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[1]);
986 /* ./../lib/standard//collection//array.nit:237 */
988 /* ./../lib/standard//collection//array.nit:23 */
989 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
990 if (UNTAG_Bool(REGB1
)) {
992 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
994 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
995 /* ./../lib/standard//kernel.nit:212 */
996 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
997 /* ./../lib/standard//collection//array.nit:237 */
998 if (UNTAG_Bool(REGB1
)) {
999 /* ./../lib/standard//collection//array.nit:238 */
1000 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1001 if (UNTAG_Bool(REGB1
)) {
1002 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
1004 /* ./../lib/standard//collection//array.nit:654 */
1005 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1006 /* ./nitc.nit:120 */
1007 fra
.me
.REG
[3] = NEW_Program_program___Program___init(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1008 /* ./nitc.nit:121 */
1009 fra
.me
.REG
[4] = CALL_nitc___NitCompiler___opt_output_format(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1010 fra
.me
.REG
[4] = CALL_opts___OptionEnum___value_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1011 CALL_compiling___Program___output_format__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1012 /* ./nitc.nit:122 */
1013 CALL_program___Program___compute_main_method(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1014 /* ./nitc.nit:123 */
1015 CALL_program___Program___generate_allocation_iroutines(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1016 /* ./nitc.nit:124 */
1017 REGB1
= CALL_program___ToolContext___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1018 if (UNTAG_Bool(REGB1
)) {
1019 /* ./nitc.nit:125 */
1020 CALL_analysis___Program___do_global_pre_analysis_optimizations(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1021 /* ./nitc.nit:126 */
1022 CALL_analysis___Program___do_global_analysis(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1023 /* ./nitc.nit:127 */
1024 CALL_analysis___Program___do_global_post_analysis_optimizations(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1025 /* ./nitc.nit:128 */
1026 fra
.me
.REG
[4] = CALL_mmloader___ToolContext___opt_log(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1027 fra
.me
.REG
[4] = CALL_opts___Option___value(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1028 if (UNTAG_Bool(fra
.me
.REG
[4])) {
1029 /* ./nitc.nit:129 */
1030 fra
.me
.REG
[4] = CALL_mmloader___ToolContext___log_directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1031 CALL_analysis___Program___dump_global_optimizations_information(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1032 /* ./nitc.nit:130 */
1033 fra
.me
.REG
[4] = CALL_mmloader___ToolContext___log_directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1034 CALL_analysis___Program___dump_global_analysis_information(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1037 /* ./nitc.nit:133 */
1038 CALL_table_computation___Program___do_table_computation(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1039 /* ./nitc.nit:134 */
1040 CALL_compiling___Program___compile_prog(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1041 /* ./../lib/standard//collection//array.nit:239 */
1043 /* ./../lib/standard//kernel.nit:215 */
1044 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1045 /* ./../lib/standard//collection//array.nit:239 */
1048 /* ./../lib/standard//collection//array.nit:237 */
1053 stack_frame_head
= fra
.me
.prev
;
1056 void nitc___Sys___main(val_t p0
){
1057 struct {struct stack_frame_t me
;} fra
;
1059 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1060 fra
.me
.file
= LOCATE_nitc
;
1062 fra
.me
.meth
= LOCATE_nitc___Sys___main
;
1063 fra
.me
.has_broke
= 0;
1064 fra
.me
.REG_size
= 1;
1065 fra
.me
.REG
[0] = NIT_NULL
;
1067 /* ./nitc.nit:139 */
1068 fra
.me
.REG
[0] = NEW_NitCompiler_nitc___NitCompiler___init();
1069 /* ./nitc.nit:140 */
1070 CALL_abstracttool___AbstractCompiler___exec_cmd_line(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1071 stack_frame_head
= fra
.me
.prev
;