1 /* This C file is generated by NIT to compile module exec. */
3 val_t
exec___Process___id(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_exec
;
10 fra
.me
.meth
= LOCATE_exec___Process___id
;
13 fra
.me
.REG
[0] = NIT_NULL
;
15 /* ./../lib/standard//exec.nit:24 */
16 REGB0
= TAG_Bool(ATTR_exec___Process____data(fra
.me
.REG
[0])!=NIT_NULL
);
17 if (UNTAG_Bool(REGB0
)) {
19 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec
, 24);
21 fra
.me
.REG
[0] = ATTR_exec___Process____data(fra
.me
.REG
[0]);
22 REGB0
= CALL_exec___NativeProcess___id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
25 stack_frame_head
= fra
.me
.prev
;
28 val_t
exec___Process___is_finished(val_t p0
){
29 struct {struct stack_frame_t me
;} fra
;
32 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
33 fra
.me
.file
= LOCATE_exec
;
35 fra
.me
.meth
= LOCATE_exec___Process___is_finished
;
38 fra
.me
.REG
[0] = NIT_NULL
;
40 /* ./../lib/standard//exec.nit:27 */
41 REGB0
= TAG_Bool(ATTR_exec___Process____data(fra
.me
.REG
[0])!=NIT_NULL
);
42 if (UNTAG_Bool(REGB0
)) {
44 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec
, 27);
46 fra
.me
.REG
[0] = ATTR_exec___Process____data(fra
.me
.REG
[0]);
47 REGB0
= CALL_exec___NativeProcess___is_finished(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
50 stack_frame_head
= fra
.me
.prev
;
53 void exec___Process___wait(val_t p0
){
54 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
57 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
58 fra
.me
.file
= LOCATE_exec
;
60 fra
.me
.meth
= LOCATE_exec___Process___wait
;
63 fra
.me
.REG
[0] = NIT_NULL
;
64 fra
.me
.REG
[1] = NIT_NULL
;
66 /* ./../lib/standard//exec.nit:32 */
67 REGB0
= TAG_Bool(ATTR_exec___Process____data(fra
.me
.REG
[0])!=NIT_NULL
);
68 if (UNTAG_Bool(REGB0
)) {
70 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec
, 32);
72 fra
.me
.REG
[1] = ATTR_exec___Process____data(fra
.me
.REG
[0]);
73 CALL_exec___NativeProcess___wait(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
74 /* ./../lib/standard//exec.nit:33 */
75 REGB0
= CALL_exec___Process___is_finished(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
76 if (UNTAG_Bool(REGB0
)) {
78 nit_abort("Assert failed", NULL
, LOCATE_exec
, 33);
80 stack_frame_head
= fra
.me
.prev
;
83 val_t
exec___Process___status(val_t p0
){
84 struct {struct stack_frame_t me
;} fra
;
87 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
88 fra
.me
.file
= LOCATE_exec
;
90 fra
.me
.meth
= LOCATE_exec___Process___status
;
93 fra
.me
.REG
[0] = NIT_NULL
;
95 /* ./../lib/standard//exec.nit:39 */
96 REGB0
= CALL_exec___Process___is_finished(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
97 if (UNTAG_Bool(REGB0
)) {
99 nit_abort("Assert failed", NULL
, LOCATE_exec
, 39);
101 /* ./../lib/standard//exec.nit:40 */
102 REGB0
= TAG_Bool(ATTR_exec___Process____data(fra
.me
.REG
[0])!=NIT_NULL
);
103 if (UNTAG_Bool(REGB0
)) {
105 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec
, 40);
107 fra
.me
.REG
[0] = ATTR_exec___Process____data(fra
.me
.REG
[0]);
108 REGB0
= CALL_exec___NativeProcess___status(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
111 stack_frame_head
= fra
.me
.prev
;
114 void exec___Process___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
115 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_Process
].i
;
116 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
119 if (init_table
[itpos0
]) return;
120 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
121 fra
.me
.file
= LOCATE_exec
;
123 fra
.me
.meth
= LOCATE_exec___Process___init
;
124 fra
.me
.has_broke
= 0;
126 fra
.me
.REG
[0] = NIT_NULL
;
127 fra
.me
.REG
[1] = NIT_NULL
;
128 fra
.me
.REG
[2] = NIT_NULL
;
132 /* ./../lib/standard//exec.nit:43 */
133 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_Array
, ID_Array
)) /*cast Array[String]*/;
134 if (UNTAG_Bool(REGB0
)) {
136 nit_abort("Cast failed", NULL
, LOCATE_exec
, 43);
138 /* ./../lib/standard//exec.nit:46 */
140 CALL_exec___Process___execute(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
, init_table
);
141 stack_frame_head
= fra
.me
.prev
;
142 init_table
[itpos0
] = 1;
145 void exec___Process___init_(val_t p0
, val_t p1
, int* init_table
){
146 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_Process
].i
;
147 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
150 if (init_table
[itpos1
]) return;
151 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
152 fra
.me
.file
= LOCATE_exec
;
154 fra
.me
.meth
= LOCATE_exec___Process___init_
;
155 fra
.me
.has_broke
= 0;
157 fra
.me
.REG
[0] = NIT_NULL
;
158 fra
.me
.REG
[1] = NIT_NULL
;
161 /* ./../lib/standard//exec.nit:52 */
163 CALL_exec___Process___execute(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
, init_table
);
164 stack_frame_head
= fra
.me
.prev
;
165 init_table
[itpos1
] = 1;
168 void exec___Process___execute(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
169 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_Process
].i
;
170 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
176 if (init_table
[itpos2
]) return;
177 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
178 fra
.me
.file
= LOCATE_exec
;
180 fra
.me
.meth
= LOCATE_exec___Process___execute
;
181 fra
.me
.has_broke
= 0;
183 fra
.me
.REG
[0] = NIT_NULL
;
184 fra
.me
.REG
[1] = NIT_NULL
;
185 fra
.me
.REG
[2] = NIT_NULL
;
186 fra
.me
.REG
[3] = NIT_NULL
;
187 fra
.me
.REG
[4] = NIT_NULL
;
188 fra
.me
.REG
[5] = NIT_NULL
;
189 fra
.me
.REG
[6] = NIT_NULL
;
194 /* ./../lib/standard//exec.nit:58 */
195 fra
.me
.REG
[3] = NEW_Buffer_string___Buffer___init();
196 /* ./../lib/standard//exec.nit:59 */
198 /* ./../lib/standard//exec.nit:60 */
199 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
200 /* ./../lib/standard//exec.nit:61 */
201 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
202 if (UNTAG_Bool(REGB2
)) {
204 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
205 if (UNTAG_Bool(REGB3
)) {
206 REGB3
= TAG_Bool(false);
209 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
213 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
214 if (UNTAG_Bool(REGB2
)) {
215 /* ./../lib/standard//exec.nit:62 */
216 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
217 if (UNTAG_Bool(REGB2
)) {
218 nit_abort("Reciever is null", NULL
, LOCATE_exec
, 62);
220 /* ./../lib/standard//collection//array.nit:231 */
221 fra
.me
.REG
[4] = fra
.me
.REG
[2];
222 /* ./../lib/standard//collection//array.nit:234 */
224 /* ./../lib/standard//collection//array.nit:235 */
225 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
226 if (UNTAG_Bool(REGB3
)) {
228 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
230 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
231 /* ./../lib/standard//collection//array.nit:236 */
232 fra
.me
.REG
[5] = ATTR_array___Array____items(fra
.me
.REG
[4]);
233 /* ./../lib/standard//collection//array.nit:237 */
235 /* ./../lib/standard//collection//array.nit:23 */
236 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
237 if (UNTAG_Bool(REGB3
)) {
239 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
241 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
242 /* ./../lib/standard//kernel.nit:212 */
243 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
244 /* ./../lib/standard//collection//array.nit:237 */
245 if (UNTAG_Bool(REGB3
)) {
246 /* ./../lib/standard//collection//array.nit:238 */
247 REGB3
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
248 if (UNTAG_Bool(REGB3
)) {
249 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
251 /* ./../lib/standard//collection//array.nit:654 */
252 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB2
)];
253 /* ./../lib/standard//exec.nit:63 */
254 REGB3
= TAG_Char('\0');
255 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB3
);
256 /* ./../lib/standard//exec.nit:64 */
257 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
258 /* ./../lib/standard//collection//array.nit:239 */
260 /* ./../lib/standard//kernel.nit:215 */
261 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
262 /* ./../lib/standard//collection//array.nit:239 */
265 /* ./../lib/standard//collection//array.nit:237 */
270 /* ./../lib/standard//exec.nit:66 */
271 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
272 if (UNTAG_Bool(REGB2
)) {
273 nit_abort("Reciever is null", NULL
, LOCATE_exec
, 66);
275 /* ./../lib/standard//collection//array.nit:23 */
276 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
277 if (UNTAG_Bool(REGB2
)) {
279 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
281 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
282 /* ./../lib/standard//kernel.nit:215 */
283 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
284 /* ./../lib/standard//exec.nit:66 */
287 /* ./../lib/standard//exec.nit:68 */
288 fra
.me
.REG
[1] = CALL_string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
289 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
290 fra
.me
.REG
[3] = CALL_string___String___to_cstring(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
291 fra
.me
.REG
[3] = CALL_exec___Process___basic_exec_execute(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3], REGB1
, REGB0
);
292 ATTR_exec___Process____data(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
293 stack_frame_head
= fra
.me
.prev
;
294 init_table
[itpos2
] = 1;
297 val_t
exec___Process___basic_exec_execute(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
298 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
302 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
303 fra
.me
.file
= LOCATE_exec
;
305 fra
.me
.meth
= LOCATE_exec___Process___basic_exec_execute
;
306 fra
.me
.has_broke
= 0;
308 fra
.me
.REG
[0] = NIT_NULL
;
309 fra
.me
.REG
[1] = NIT_NULL
;
310 fra
.me
.REG
[2] = NIT_NULL
;
316 /* ./../lib/standard//exec.nit:72 */
317 fra
.me
.REG
[2] = BOX_NativeProcess(exec_Process_Process_basic_exec_execute_4(fra
.me
.REG
[0], UNBOX_NativeString(fra
.me
.REG
[1]), UNBOX_NativeString(fra
.me
.REG
[2]), UNTAG_Int(REGB0
), UNTAG_Int(REGB1
)));
318 stack_frame_head
= fra
.me
.prev
;
319 return fra
.me
.REG
[2];
321 void exec___IProcess___close(val_t p0
){
322 struct {struct stack_frame_t me
;} fra
;
325 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
326 fra
.me
.file
= LOCATE_exec
;
328 fra
.me
.meth
= LOCATE_exec___IProcess___close
;
329 fra
.me
.has_broke
= 0;
331 fra
.me
.REG
[0] = NIT_NULL
;
333 /* ./../lib/standard//exec.nit:81 */
334 REGB0
= TAG_Bool(ATTR_exec___IProcess____in(fra
.me
.REG
[0])!=NIT_NULL
);
335 if (UNTAG_Bool(REGB0
)) {
337 nit_abort("Uninitialized attribute %s", "_in", LOCATE_exec
, 81);
339 fra
.me
.REG
[0] = ATTR_exec___IProcess____in(fra
.me
.REG
[0]);
340 CALL_stream___IOS___close(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
341 stack_frame_head
= fra
.me
.prev
;
344 val_t
exec___IProcess___read_char(val_t p0
){
345 struct {struct stack_frame_t me
;} fra
;
348 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
349 fra
.me
.file
= LOCATE_exec
;
351 fra
.me
.meth
= LOCATE_exec___IProcess___read_char
;
352 fra
.me
.has_broke
= 0;
354 fra
.me
.REG
[0] = NIT_NULL
;
356 /* ./../lib/standard//exec.nit:83 */
357 REGB0
= TAG_Bool(ATTR_exec___IProcess____in(fra
.me
.REG
[0])!=NIT_NULL
);
358 if (UNTAG_Bool(REGB0
)) {
360 nit_abort("Uninitialized attribute %s", "_in", LOCATE_exec
, 83);
362 fra
.me
.REG
[0] = ATTR_exec___IProcess____in(fra
.me
.REG
[0]);
363 REGB0
= CALL_stream___IStream___read_char(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
366 stack_frame_head
= fra
.me
.prev
;
369 val_t
exec___IProcess___eof(val_t p0
){
370 struct {struct stack_frame_t me
;} fra
;
373 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
374 fra
.me
.file
= LOCATE_exec
;
376 fra
.me
.meth
= LOCATE_exec___IProcess___eof
;
377 fra
.me
.has_broke
= 0;
379 fra
.me
.REG
[0] = NIT_NULL
;
381 /* ./../lib/standard//exec.nit:85 */
382 REGB0
= TAG_Bool(ATTR_exec___IProcess____in(fra
.me
.REG
[0])!=NIT_NULL
);
383 if (UNTAG_Bool(REGB0
)) {
385 nit_abort("Uninitialized attribute %s", "_in", LOCATE_exec
, 85);
387 fra
.me
.REG
[0] = ATTR_exec___IProcess____in(fra
.me
.REG
[0]);
388 REGB0
= CALL_stream___IStream___eof(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
391 stack_frame_head
= fra
.me
.prev
;
394 void exec___IProcess___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
395 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_IProcess
].i
;
396 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
399 if (init_table
[itpos3
]) return;
400 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
401 fra
.me
.file
= LOCATE_exec
;
403 fra
.me
.meth
= LOCATE_exec___IProcess___init
;
404 fra
.me
.has_broke
= 0;
406 fra
.me
.REG
[0] = NIT_NULL
;
407 fra
.me
.REG
[1] = NIT_NULL
;
408 fra
.me
.REG
[2] = NIT_NULL
;
412 /* ./../lib/standard//exec.nit:87 */
413 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_Array
, ID_Array
)) /*cast Array[String]*/;
414 if (UNTAG_Bool(REGB0
)) {
416 nit_abort("Cast failed", NULL
, LOCATE_exec
, 87);
418 /* ./../lib/standard//exec.nit:89 */
420 CALL_exec___Process___execute(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
, init_table
);
421 /* ./../lib/standard//exec.nit:90 */
422 REGB0
= TAG_Bool(ATTR_exec___Process____data(fra
.me
.REG
[0])!=NIT_NULL
);
423 if (UNTAG_Bool(REGB0
)) {
425 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec
, 90);
427 fra
.me
.REG
[2] = ATTR_exec___Process____data(fra
.me
.REG
[0]);
428 REGB0
= CALL_exec___NativeProcess___out_fd(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
429 fra
.me
.REG
[2] = NEW_FDIStream_stream___FDIStream___init(REGB0
);
430 ATTR_exec___IProcess____in(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
431 stack_frame_head
= fra
.me
.prev
;
432 init_table
[itpos3
] = 1;
435 void exec___IProcess___init_(val_t p0
, val_t p1
, int* init_table
){
436 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_IProcess
].i
;
437 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
440 if (init_table
[itpos4
]) return;
441 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
442 fra
.me
.file
= LOCATE_exec
;
444 fra
.me
.meth
= LOCATE_exec___IProcess___init_
;
445 fra
.me
.has_broke
= 0;
447 fra
.me
.REG
[0] = NIT_NULL
;
448 fra
.me
.REG
[1] = NIT_NULL
;
451 /* ./../lib/standard//exec.nit:95 */
453 CALL_exec___Process___execute(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
, init_table
);
454 /* ./../lib/standard//exec.nit:96 */
455 REGB0
= TAG_Bool(ATTR_exec___Process____data(fra
.me
.REG
[0])!=NIT_NULL
);
456 if (UNTAG_Bool(REGB0
)) {
458 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec
, 96);
460 fra
.me
.REG
[1] = ATTR_exec___Process____data(fra
.me
.REG
[0]);
461 REGB0
= CALL_exec___NativeProcess___out_fd(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
462 fra
.me
.REG
[1] = NEW_FDIStream_stream___FDIStream___init(REGB0
);
463 ATTR_exec___IProcess____in(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
464 stack_frame_head
= fra
.me
.prev
;
465 init_table
[itpos4
] = 1;
468 void exec___OProcess___close(val_t p0
){
469 struct {struct stack_frame_t me
;} fra
;
472 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
473 fra
.me
.file
= LOCATE_exec
;
475 fra
.me
.meth
= LOCATE_exec___OProcess___close
;
476 fra
.me
.has_broke
= 0;
478 fra
.me
.REG
[0] = NIT_NULL
;
480 /* ./../lib/standard//exec.nit:106 */
481 REGB0
= TAG_Bool(ATTR_exec___OProcess____out(fra
.me
.REG
[0])!=NIT_NULL
);
482 if (UNTAG_Bool(REGB0
)) {
484 nit_abort("Uninitialized attribute %s", "_out", LOCATE_exec
, 106);
486 fra
.me
.REG
[0] = ATTR_exec___OProcess____out(fra
.me
.REG
[0]);
487 CALL_stream___IOS___close(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
488 stack_frame_head
= fra
.me
.prev
;
491 val_t
exec___OProcess___is_writable(val_t p0
){
492 struct {struct stack_frame_t me
;} fra
;
495 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
496 fra
.me
.file
= LOCATE_exec
;
498 fra
.me
.meth
= LOCATE_exec___OProcess___is_writable
;
499 fra
.me
.has_broke
= 0;
501 fra
.me
.REG
[0] = NIT_NULL
;
503 /* ./../lib/standard//exec.nit:108 */
504 REGB0
= TAG_Bool(ATTR_exec___OProcess____out(fra
.me
.REG
[0])!=NIT_NULL
);
505 if (UNTAG_Bool(REGB0
)) {
507 nit_abort("Uninitialized attribute %s", "_out", LOCATE_exec
, 108);
509 fra
.me
.REG
[0] = ATTR_exec___OProcess____out(fra
.me
.REG
[0]);
510 REGB0
= CALL_stream___OStream___is_writable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
513 stack_frame_head
= fra
.me
.prev
;
516 void exec___OProcess___write(val_t p0
, val_t p1
){
517 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
520 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
521 fra
.me
.file
= LOCATE_exec
;
523 fra
.me
.meth
= LOCATE_exec___OProcess___write
;
524 fra
.me
.has_broke
= 0;
526 fra
.me
.REG
[0] = NIT_NULL
;
527 fra
.me
.REG
[1] = NIT_NULL
;
530 /* ./../lib/standard//exec.nit:110 */
531 REGB0
= TAG_Bool(ATTR_exec___OProcess____out(fra
.me
.REG
[0])!=NIT_NULL
);
532 if (UNTAG_Bool(REGB0
)) {
534 nit_abort("Uninitialized attribute %s", "_out", LOCATE_exec
, 110);
536 fra
.me
.REG
[0] = ATTR_exec___OProcess____out(fra
.me
.REG
[0]);
537 CALL_stream___OStream___write(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
538 stack_frame_head
= fra
.me
.prev
;
541 void exec___OProcess___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
542 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_OProcess
].i
;
543 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
546 if (init_table
[itpos5
]) return;
547 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
548 fra
.me
.file
= LOCATE_exec
;
550 fra
.me
.meth
= LOCATE_exec___OProcess___init
;
551 fra
.me
.has_broke
= 0;
553 fra
.me
.REG
[0] = NIT_NULL
;
554 fra
.me
.REG
[1] = NIT_NULL
;
555 fra
.me
.REG
[2] = NIT_NULL
;
559 /* ./../lib/standard//exec.nit:112 */
560 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_Array
, ID_Array
)) /*cast Array[String]*/;
561 if (UNTAG_Bool(REGB0
)) {
563 nit_abort("Cast failed", NULL
, LOCATE_exec
, 112);
565 /* ./../lib/standard//exec.nit:114 */
567 CALL_exec___Process___execute(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
, init_table
);
568 /* ./../lib/standard//exec.nit:115 */
569 REGB0
= TAG_Bool(ATTR_exec___Process____data(fra
.me
.REG
[0])!=NIT_NULL
);
570 if (UNTAG_Bool(REGB0
)) {
572 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec
, 115);
574 fra
.me
.REG
[2] = ATTR_exec___Process____data(fra
.me
.REG
[0]);
575 REGB0
= CALL_exec___NativeProcess___in_fd(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
576 fra
.me
.REG
[2] = NEW_FDOStream_stream___FDOStream___init(REGB0
);
577 ATTR_exec___OProcess____out(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
578 stack_frame_head
= fra
.me
.prev
;
579 init_table
[itpos5
] = 1;
582 void exec___OProcess___init_(val_t p0
, val_t p1
, int* init_table
){
583 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_OProcess
].i
;
584 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
587 if (init_table
[itpos6
]) return;
588 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
589 fra
.me
.file
= LOCATE_exec
;
591 fra
.me
.meth
= LOCATE_exec___OProcess___init_
;
592 fra
.me
.has_broke
= 0;
594 fra
.me
.REG
[0] = NIT_NULL
;
595 fra
.me
.REG
[1] = NIT_NULL
;
598 /* ./../lib/standard//exec.nit:120 */
600 CALL_exec___Process___execute(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
, init_table
);
601 /* ./../lib/standard//exec.nit:121 */
602 REGB0
= TAG_Bool(ATTR_exec___Process____data(fra
.me
.REG
[0])!=NIT_NULL
);
603 if (UNTAG_Bool(REGB0
)) {
605 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec
, 121);
607 fra
.me
.REG
[1] = ATTR_exec___Process____data(fra
.me
.REG
[0]);
608 REGB0
= CALL_exec___NativeProcess___in_fd(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
609 fra
.me
.REG
[1] = NEW_FDOStream_stream___FDOStream___init(REGB0
);
610 ATTR_exec___OProcess____out(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
611 stack_frame_head
= fra
.me
.prev
;
612 init_table
[itpos6
] = 1;
615 void exec___IOProcess___close(val_t p0
){
616 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
619 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
620 fra
.me
.file
= LOCATE_exec
;
622 fra
.me
.meth
= LOCATE_exec___IOProcess___close
;
623 fra
.me
.has_broke
= 0;
625 fra
.me
.REG
[0] = NIT_NULL
;
626 fra
.me
.REG
[1] = NIT_NULL
;
628 /* ./../lib/standard//exec.nit:133 */
629 REGB0
= TAG_Bool(ATTR_exec___IProcess____in(fra
.me
.REG
[0])!=NIT_NULL
);
630 if (UNTAG_Bool(REGB0
)) {
632 nit_abort("Uninitialized attribute %s", "_in", LOCATE_exec
, 133);
634 fra
.me
.REG
[1] = ATTR_exec___IProcess____in(fra
.me
.REG
[0]);
635 CALL_stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
636 /* ./../lib/standard//exec.nit:134 */
637 REGB0
= TAG_Bool(ATTR_exec___OProcess____out(fra
.me
.REG
[0])!=NIT_NULL
);
638 if (UNTAG_Bool(REGB0
)) {
640 nit_abort("Uninitialized attribute %s", "_out", LOCATE_exec
, 134);
642 fra
.me
.REG
[0] = ATTR_exec___OProcess____out(fra
.me
.REG
[0]);
643 CALL_stream___IOS___close(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
644 stack_frame_head
= fra
.me
.prev
;
647 void exec___IOProcess___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
648 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_IOProcess
].i
;
649 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
652 if (init_table
[itpos7
]) return;
653 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
654 fra
.me
.file
= LOCATE_exec
;
656 fra
.me
.meth
= LOCATE_exec___IOProcess___init
;
657 fra
.me
.has_broke
= 0;
659 fra
.me
.REG
[0] = NIT_NULL
;
660 fra
.me
.REG
[1] = NIT_NULL
;
661 fra
.me
.REG
[2] = NIT_NULL
;
662 fra
.me
.REG
[3] = NIT_NULL
;
663 fra
.me
.REG
[4] = NIT_NULL
;
664 fra
.me
.REG
[5] = NIT_NULL
;
668 /* ./../lib/standard//exec.nit:137 */
669 fra
.me
.REG
[3] = fra
.me
.REG
[0];
670 fra
.me
.REG
[4] = fra
.me
.REG
[1];
671 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_Array
, ID_Array
)) /*cast Array[String]*/;
672 if (UNTAG_Bool(REGB0
)) {
674 nit_abort("Cast failed", NULL
, LOCATE_exec
, 137);
676 fra
.me
.REG
[5] = fra
.me
.REG
[2];
677 /* ./../lib/standard//exec.nit:139 */
679 CALL_exec___Process___execute(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[5], REGB0
, init_table
);
680 CALL_exec___IProcess___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
681 CALL_exec___OProcess___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
682 /* ./../lib/standard//exec.nit:140 */
683 REGB0
= TAG_Bool(ATTR_exec___Process____data(fra
.me
.REG
[3])!=NIT_NULL
);
684 if (UNTAG_Bool(REGB0
)) {
686 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec
, 140);
688 fra
.me
.REG
[2] = ATTR_exec___Process____data(fra
.me
.REG
[3]);
689 REGB0
= CALL_exec___NativeProcess___out_fd(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
690 fra
.me
.REG
[2] = NEW_FDIStream_stream___FDIStream___init(REGB0
);
691 ATTR_exec___IProcess____in(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
692 /* ./../lib/standard//exec.nit:141 */
693 REGB0
= TAG_Bool(ATTR_exec___Process____data(fra
.me
.REG
[3])!=NIT_NULL
);
694 if (UNTAG_Bool(REGB0
)) {
696 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec
, 141);
698 fra
.me
.REG
[2] = ATTR_exec___Process____data(fra
.me
.REG
[3]);
699 REGB0
= CALL_exec___NativeProcess___in_fd(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
700 fra
.me
.REG
[2] = NEW_FDOStream_stream___FDOStream___init(REGB0
);
701 ATTR_exec___OProcess____out(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
702 stack_frame_head
= fra
.me
.prev
;
703 init_table
[itpos7
] = 1;
706 void exec___IOProcess___init_(val_t p0
, val_t p1
, int* init_table
){
707 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_IOProcess
].i
;
708 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
711 if (init_table
[itpos8
]) return;
712 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
713 fra
.me
.file
= LOCATE_exec
;
715 fra
.me
.meth
= LOCATE_exec___IOProcess___init_
;
716 fra
.me
.has_broke
= 0;
718 fra
.me
.REG
[0] = NIT_NULL
;
719 fra
.me
.REG
[1] = NIT_NULL
;
720 fra
.me
.REG
[2] = NIT_NULL
;
721 fra
.me
.REG
[3] = NIT_NULL
;
724 /* ./../lib/standard//exec.nit:144 */
725 fra
.me
.REG
[2] = fra
.me
.REG
[0];
726 fra
.me
.REG
[3] = fra
.me
.REG
[1];
727 /* ./../lib/standard//exec.nit:146 */
729 CALL_exec___Process___execute(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], NIT_NULL
, REGB0
, init_table
);
730 CALL_exec___IProcess___init_(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
731 CALL_exec___OProcess___init_(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
732 /* ./../lib/standard//exec.nit:147 */
733 REGB0
= TAG_Bool(ATTR_exec___Process____data(fra
.me
.REG
[2])!=NIT_NULL
);
734 if (UNTAG_Bool(REGB0
)) {
736 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec
, 147);
738 fra
.me
.REG
[1] = ATTR_exec___Process____data(fra
.me
.REG
[2]);
739 REGB0
= CALL_exec___NativeProcess___out_fd(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
740 fra
.me
.REG
[1] = NEW_FDIStream_stream___FDIStream___init(REGB0
);
741 ATTR_exec___IProcess____in(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
742 /* ./../lib/standard//exec.nit:148 */
743 REGB0
= TAG_Bool(ATTR_exec___Process____data(fra
.me
.REG
[2])!=NIT_NULL
);
744 if (UNTAG_Bool(REGB0
)) {
746 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec
, 148);
748 fra
.me
.REG
[1] = ATTR_exec___Process____data(fra
.me
.REG
[2]);
749 REGB0
= CALL_exec___NativeProcess___in_fd(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
750 fra
.me
.REG
[1] = NEW_FDOStream_stream___FDOStream___init(REGB0
);
751 ATTR_exec___OProcess____out(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
752 stack_frame_head
= fra
.me
.prev
;
753 init_table
[itpos8
] = 1;
756 val_t
exec___Sys___system(val_t p0
, val_t p1
){
757 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
760 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
761 fra
.me
.file
= LOCATE_exec
;
763 fra
.me
.meth
= LOCATE_exec___Sys___system
;
764 fra
.me
.has_broke
= 0;
766 fra
.me
.REG
[0] = NIT_NULL
;
767 fra
.me
.REG
[1] = NIT_NULL
;
770 /* ./../lib/standard//exec.nit:156 */
771 fra
.me
.REG
[1] = CALL_string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
772 REGB0
= CALL_exec___NativeString___system(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
775 stack_frame_head
= fra
.me
.prev
;
778 val_t
exec___NativeString___system(val_t p0
){
779 struct {struct stack_frame_t me
;} fra
;
782 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
783 fra
.me
.file
= LOCATE_exec
;
785 fra
.me
.meth
= LOCATE_exec___NativeString___system
;
786 fra
.me
.has_broke
= 0;
788 fra
.me
.REG
[0] = NIT_NULL
;
790 /* ./../lib/standard//exec.nit:161 */
791 REGB0
= TAG_Int(string_NativeString_NativeString_system_0(UNBOX_NativeString(fra
.me
.REG
[0])));
792 stack_frame_head
= fra
.me
.prev
;
795 val_t
exec___NativeProcess___id(val_t p0
){
796 struct {struct stack_frame_t me
;} fra
;
799 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
800 fra
.me
.file
= LOCATE_exec
;
802 fra
.me
.meth
= LOCATE_exec___NativeProcess___id
;
803 fra
.me
.has_broke
= 0;
805 fra
.me
.REG
[0] = NIT_NULL
;
807 /* ./../lib/standard//exec.nit:166 */
808 REGB0
= TAG_Int(exec_NativeProcess_NativeProcess_id_0(UNBOX_NativeProcess(fra
.me
.REG
[0])));
809 stack_frame_head
= fra
.me
.prev
;
812 val_t
exec___NativeProcess___is_finished(val_t p0
){
813 struct {struct stack_frame_t me
;} fra
;
816 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
817 fra
.me
.file
= LOCATE_exec
;
819 fra
.me
.meth
= LOCATE_exec___NativeProcess___is_finished
;
820 fra
.me
.has_broke
= 0;
822 fra
.me
.REG
[0] = NIT_NULL
;
824 /* ./../lib/standard//exec.nit:167 */
825 REGB0
= TAG_Bool(exec_NativeProcess_NativeProcess_is_finished_0(UNBOX_NativeProcess(fra
.me
.REG
[0])));
826 stack_frame_head
= fra
.me
.prev
;
829 val_t
exec___NativeProcess___status(val_t p0
){
830 struct {struct stack_frame_t me
;} fra
;
833 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
834 fra
.me
.file
= LOCATE_exec
;
836 fra
.me
.meth
= LOCATE_exec___NativeProcess___status
;
837 fra
.me
.has_broke
= 0;
839 fra
.me
.REG
[0] = NIT_NULL
;
841 /* ./../lib/standard//exec.nit:168 */
842 REGB0
= TAG_Int(exec_NativeProcess_NativeProcess_status_0(UNBOX_NativeProcess(fra
.me
.REG
[0])));
843 stack_frame_head
= fra
.me
.prev
;
846 void exec___NativeProcess___wait(val_t p0
){
847 struct {struct stack_frame_t me
;} fra
;
849 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
850 fra
.me
.file
= LOCATE_exec
;
852 fra
.me
.meth
= LOCATE_exec___NativeProcess___wait
;
853 fra
.me
.has_broke
= 0;
855 fra
.me
.REG
[0] = NIT_NULL
;
857 /* ./../lib/standard//exec.nit:169 */
858 exec_NativeProcess_NativeProcess_wait_0(UNBOX_NativeProcess(fra
.me
.REG
[0]));
859 stack_frame_head
= fra
.me
.prev
;
862 val_t
exec___NativeProcess___in_fd(val_t p0
){
863 struct {struct stack_frame_t me
;} fra
;
866 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
867 fra
.me
.file
= LOCATE_exec
;
869 fra
.me
.meth
= LOCATE_exec___NativeProcess___in_fd
;
870 fra
.me
.has_broke
= 0;
872 fra
.me
.REG
[0] = NIT_NULL
;
874 /* ./../lib/standard//exec.nit:171 */
875 REGB0
= TAG_Int(exec_NativeProcess_NativeProcess_in_fd_0(UNBOX_NativeProcess(fra
.me
.REG
[0])));
876 stack_frame_head
= fra
.me
.prev
;
879 val_t
exec___NativeProcess___out_fd(val_t p0
){
880 struct {struct stack_frame_t me
;} fra
;
883 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
884 fra
.me
.file
= LOCATE_exec
;
886 fra
.me
.meth
= LOCATE_exec___NativeProcess___out_fd
;
887 fra
.me
.has_broke
= 0;
889 fra
.me
.REG
[0] = NIT_NULL
;
891 /* ./../lib/standard//exec.nit:172 */
892 REGB0
= TAG_Int(exec_NativeProcess_NativeProcess_out_fd_0(UNBOX_NativeProcess(fra
.me
.REG
[0])));
893 stack_frame_head
= fra
.me
.prev
;
896 val_t
exec___NativeProcess___err_fd(val_t p0
){
897 struct {struct stack_frame_t me
;} fra
;
900 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
901 fra
.me
.file
= LOCATE_exec
;
903 fra
.me
.meth
= LOCATE_exec___NativeProcess___err_fd
;
904 fra
.me
.has_broke
= 0;
906 fra
.me
.REG
[0] = NIT_NULL
;
908 /* ./../lib/standard//exec.nit:173 */
909 REGB0
= TAG_Int(exec_NativeProcess_NativeProcess_err_fd_0(UNBOX_NativeProcess(fra
.me
.REG
[0])));
910 stack_frame_head
= fra
.me
.prev
;