gc: default to nitgc when boehm is not available
[nit.git] / c_src / exec._sep.c
1 /* This C file is generated by NIT to compile module exec. */
2 #include "exec._sep.h"
3 val_t exec___Process___id(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t REGB0;
6 val_t tmp;
7 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8 fra.me.file = LOCATE_exec;
9 fra.me.line = 23;
10 fra.me.meth = LOCATE_exec___Process___id;
11 fra.me.has_broke = 0;
12 fra.me.REG_size = 1;
13 fra.me.REG[0] = NIT_NULL;
14 fra.me.REG[0] = p0;
15 REGB0 = TAG_Bool(ATTR_exec___Process____data(fra.me.REG[0])!=NIT_NULL);
16 /* ./../lib/standard//exec.nit:24 */
17 if (UNTAG_Bool(REGB0)) {
18 } else {
19 fprintf(stderr, "Uninitialized attribute %s", "_data");
20 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 24);
21 nit_exit(1);
22 }
23 fra.me.REG[0] = ATTR_exec___Process____data(fra.me.REG[0]);
24 REGB0 = CALL_exec___NativeProcess___id(fra.me.REG[0])(fra.me.REG[0]);
25 goto label1;
26 label1: while(0);
27 stack_frame_head = fra.me.prev;
28 return REGB0;
29 }
30 val_t exec___Process___is_finished(val_t p0){
31 struct {struct stack_frame_t me;} fra;
32 val_t REGB0;
33 val_t tmp;
34 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35 fra.me.file = LOCATE_exec;
36 fra.me.line = 26;
37 fra.me.meth = LOCATE_exec___Process___is_finished;
38 fra.me.has_broke = 0;
39 fra.me.REG_size = 1;
40 fra.me.REG[0] = NIT_NULL;
41 fra.me.REG[0] = p0;
42 REGB0 = TAG_Bool(ATTR_exec___Process____data(fra.me.REG[0])!=NIT_NULL);
43 /* ./../lib/standard//exec.nit:27 */
44 if (UNTAG_Bool(REGB0)) {
45 } else {
46 fprintf(stderr, "Uninitialized attribute %s", "_data");
47 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 27);
48 nit_exit(1);
49 }
50 fra.me.REG[0] = ATTR_exec___Process____data(fra.me.REG[0]);
51 REGB0 = CALL_exec___NativeProcess___is_finished(fra.me.REG[0])(fra.me.REG[0]);
52 goto label1;
53 label1: while(0);
54 stack_frame_head = fra.me.prev;
55 return REGB0;
56 }
57 void exec___Process___wait(val_t p0){
58 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
59 val_t REGB0;
60 val_t tmp;
61 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62 fra.me.file = LOCATE_exec;
63 fra.me.line = 29;
64 fra.me.meth = LOCATE_exec___Process___wait;
65 fra.me.has_broke = 0;
66 fra.me.REG_size = 2;
67 fra.me.REG[0] = NIT_NULL;
68 fra.me.REG[1] = NIT_NULL;
69 fra.me.REG[0] = p0;
70 REGB0 = TAG_Bool(ATTR_exec___Process____data(fra.me.REG[0])!=NIT_NULL);
71 /* ./../lib/standard//exec.nit:32 */
72 if (UNTAG_Bool(REGB0)) {
73 } else {
74 fprintf(stderr, "Uninitialized attribute %s", "_data");
75 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 32);
76 nit_exit(1);
77 }
78 fra.me.REG[1] = ATTR_exec___Process____data(fra.me.REG[0]);
79 CALL_exec___NativeProcess___wait(fra.me.REG[1])(fra.me.REG[1]);
80 REGB0 = CALL_exec___Process___is_finished(fra.me.REG[0])(fra.me.REG[0]);
81 /* ./../lib/standard//exec.nit:33 */
82 if (UNTAG_Bool(REGB0)) {
83 } else {
84 fprintf(stderr, "Assert failed");
85 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 33);
86 nit_exit(1);
87 }
88 stack_frame_head = fra.me.prev;
89 return;
90 }
91 val_t exec___Process___status(val_t p0){
92 struct {struct stack_frame_t me;} fra;
93 val_t REGB0;
94 val_t tmp;
95 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96 fra.me.file = LOCATE_exec;
97 fra.me.line = 36;
98 fra.me.meth = LOCATE_exec___Process___status;
99 fra.me.has_broke = 0;
100 fra.me.REG_size = 1;
101 fra.me.REG[0] = NIT_NULL;
102 fra.me.REG[0] = p0;
103 REGB0 = CALL_exec___Process___is_finished(fra.me.REG[0])(fra.me.REG[0]);
104 /* ./../lib/standard//exec.nit:39 */
105 if (UNTAG_Bool(REGB0)) {
106 } else {
107 fprintf(stderr, "Assert failed");
108 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 39);
109 nit_exit(1);
110 }
111 REGB0 = TAG_Bool(ATTR_exec___Process____data(fra.me.REG[0])!=NIT_NULL);
112 /* ./../lib/standard//exec.nit:40 */
113 if (UNTAG_Bool(REGB0)) {
114 } else {
115 fprintf(stderr, "Uninitialized attribute %s", "_data");
116 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 40);
117 nit_exit(1);
118 }
119 fra.me.REG[0] = ATTR_exec___Process____data(fra.me.REG[0]);
120 REGB0 = CALL_exec___NativeProcess___status(fra.me.REG[0])(fra.me.REG[0]);
121 goto label1;
122 label1: while(0);
123 stack_frame_head = fra.me.prev;
124 return REGB0;
125 }
126 void exec___Process___init(val_t p0, val_t p1, val_t p2, int* init_table){
127 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Process].i;
128 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
129 val_t REGB0;
130 val_t tmp;
131 if (init_table[itpos0]) return;
132 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
133 fra.me.file = LOCATE_exec;
134 fra.me.line = 43;
135 fra.me.meth = LOCATE_exec___Process___init;
136 fra.me.has_broke = 0;
137 fra.me.REG_size = 3;
138 fra.me.REG[0] = NIT_NULL;
139 fra.me.REG[1] = NIT_NULL;
140 fra.me.REG[2] = NIT_NULL;
141 fra.me.REG[0] = p0;
142 fra.me.REG[1] = p1;
143 fra.me.REG[2] = p2;
144 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[String]*/;
145 /* ./../lib/standard//exec.nit:43 */
146 if (UNTAG_Bool(REGB0)) {
147 } else {
148 fprintf(stderr, "Cast failed");
149 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 43);
150 nit_exit(1);
151 }
152 REGB0 = TAG_Int(0);
153 /* ./../lib/standard//exec.nit:46 */
154 CALL_exec___Process___execute(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], REGB0, init_table);
155 stack_frame_head = fra.me.prev;
156 init_table[itpos0] = 1;
157 return;
158 }
159 void exec___Process___init_(val_t p0, val_t p1, int* init_table){
160 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Process].i;
161 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
162 val_t REGB0;
163 val_t tmp;
164 if (init_table[itpos1]) return;
165 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
166 fra.me.file = LOCATE_exec;
167 fra.me.line = 49;
168 fra.me.meth = LOCATE_exec___Process___init_;
169 fra.me.has_broke = 0;
170 fra.me.REG_size = 2;
171 fra.me.REG[0] = NIT_NULL;
172 fra.me.REG[1] = NIT_NULL;
173 fra.me.REG[0] = p0;
174 fra.me.REG[1] = p1;
175 REGB0 = TAG_Int(0);
176 /* ./../lib/standard//exec.nit:52 */
177 CALL_exec___Process___execute(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], NIT_NULL, REGB0, init_table);
178 stack_frame_head = fra.me.prev;
179 init_table[itpos1] = 1;
180 return;
181 }
182 void exec___Process___execute(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
183 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Process].i;
184 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
185 val_t REGB0;
186 val_t REGB1;
187 val_t REGB2;
188 val_t REGB3;
189 val_t tmp;
190 if (init_table[itpos2]) return;
191 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
192 fra.me.file = LOCATE_exec;
193 fra.me.line = 55;
194 fra.me.meth = LOCATE_exec___Process___execute;
195 fra.me.has_broke = 0;
196 fra.me.REG_size = 6;
197 fra.me.REG[0] = NIT_NULL;
198 fra.me.REG[1] = NIT_NULL;
199 fra.me.REG[2] = NIT_NULL;
200 fra.me.REG[3] = NIT_NULL;
201 fra.me.REG[4] = NIT_NULL;
202 fra.me.REG[5] = NIT_NULL;
203 fra.me.REG[0] = p0;
204 fra.me.REG[1] = p1;
205 fra.me.REG[2] = p2;
206 REGB0 = p3;
207 fra.me.REG[3] = NEW_Buffer_string___Buffer___init();
208 REGB1 = TAG_Int(1);
209 /* ./../lib/standard//exec.nit:60 */
210 CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
211 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
212 /* ./../lib/standard//exec.nit:61 */
213 if (UNTAG_Bool(REGB2)) {
214 } else {
215 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
216 if (UNTAG_Bool(REGB3)) {
217 REGB3 = TAG_Bool(false);
218 REGB2 = REGB3;
219 } else {
220 REGB3 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
221 REGB2 = REGB3;
222 }
223 }
224 REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
225 if (UNTAG_Bool(REGB2)) {
226 fra.me.REG[4] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
227 /* ./../lib/standard//exec.nit:62 */
228 while(1) {
229 REGB2 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[4])(fra.me.REG[4]);
230 if (UNTAG_Bool(REGB2)) {
231 fra.me.REG[5] = CALL_abstract_collection___Iterator___item(fra.me.REG[4])(fra.me.REG[4]);
232 REGB2 = TAG_Char('\0');
233 /* ./../lib/standard//exec.nit:63 */
234 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], REGB2);
235 /* ./../lib/standard//exec.nit:64 */
236 CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
237 } else {
238 /* ./../lib/standard//exec.nit:62 */
239 goto label1;
240 }
241 CALL_abstract_collection___Iterator___next(fra.me.REG[4])(fra.me.REG[4]);
242 }
243 label1: while(0);
244 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
245 /* ./../lib/standard//exec.nit:66 */
246 if (UNTAG_Bool(REGB2)) {
247 fprintf(stderr, "Reciever is null");
248 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 66);
249 nit_exit(1);
250 }
251 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
252 /* ./../lib/standard//collection//array.nit:23 */
253 if (UNTAG_Bool(REGB2)) {
254 } else {
255 fprintf(stderr, "Uninitialized attribute %s", "_length");
256 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
257 nit_exit(1);
258 }
259 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
260 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
261 REGB1 = REGB2;
262 /* ./../lib/standard//exec.nit:66 */
263 }
264 fra.me.REG[1] = CALL_string___String___to_cstring(fra.me.REG[1])(fra.me.REG[1]);
265 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
266 fra.me.REG[3] = CALL_string___String___to_cstring(fra.me.REG[3])(fra.me.REG[3]);
267 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);
268 /* ./../lib/standard//exec.nit:68 */
269 ATTR_exec___Process____data(fra.me.REG[0]) = fra.me.REG[3];
270 stack_frame_head = fra.me.prev;
271 init_table[itpos2] = 1;
272 return;
273 }
274 val_t exec___Process___basic_exec_execute(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4){
275 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
276 val_t REGB0;
277 val_t REGB1;
278 val_t tmp;
279 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
280 fra.me.file = LOCATE_exec;
281 fra.me.line = 72;
282 fra.me.meth = LOCATE_exec___Process___basic_exec_execute;
283 fra.me.has_broke = 0;
284 fra.me.REG_size = 3;
285 fra.me.REG[0] = NIT_NULL;
286 fra.me.REG[1] = NIT_NULL;
287 fra.me.REG[2] = NIT_NULL;
288 fra.me.REG[0] = p0;
289 fra.me.REG[1] = p1;
290 fra.me.REG[2] = p2;
291 REGB0 = p3;
292 REGB1 = p4;
293 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)));
294 /* ./../lib/standard//exec.nit:72 */
295 stack_frame_head = fra.me.prev;
296 return fra.me.REG[2];
297 }
298 void exec___IProcess___close(val_t p0){
299 struct {struct stack_frame_t me;} fra;
300 val_t REGB0;
301 val_t tmp;
302 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
303 fra.me.file = LOCATE_exec;
304 fra.me.line = 81;
305 fra.me.meth = LOCATE_exec___IProcess___close;
306 fra.me.has_broke = 0;
307 fra.me.REG_size = 1;
308 fra.me.REG[0] = NIT_NULL;
309 fra.me.REG[0] = p0;
310 REGB0 = TAG_Bool(ATTR_exec___IProcess____in(fra.me.REG[0])!=NIT_NULL);
311 /* ./../lib/standard//exec.nit:81 */
312 if (UNTAG_Bool(REGB0)) {
313 } else {
314 fprintf(stderr, "Uninitialized attribute %s", "_in");
315 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 81);
316 nit_exit(1);
317 }
318 fra.me.REG[0] = ATTR_exec___IProcess____in(fra.me.REG[0]);
319 CALL_stream___IOS___close(fra.me.REG[0])(fra.me.REG[0]);
320 stack_frame_head = fra.me.prev;
321 return;
322 }
323 val_t exec___IProcess___read_char(val_t p0){
324 struct {struct stack_frame_t me;} fra;
325 val_t REGB0;
326 val_t tmp;
327 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
328 fra.me.file = LOCATE_exec;
329 fra.me.line = 83;
330 fra.me.meth = LOCATE_exec___IProcess___read_char;
331 fra.me.has_broke = 0;
332 fra.me.REG_size = 1;
333 fra.me.REG[0] = NIT_NULL;
334 fra.me.REG[0] = p0;
335 REGB0 = TAG_Bool(ATTR_exec___IProcess____in(fra.me.REG[0])!=NIT_NULL);
336 /* ./../lib/standard//exec.nit:83 */
337 if (UNTAG_Bool(REGB0)) {
338 } else {
339 fprintf(stderr, "Uninitialized attribute %s", "_in");
340 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 83);
341 nit_exit(1);
342 }
343 fra.me.REG[0] = ATTR_exec___IProcess____in(fra.me.REG[0]);
344 REGB0 = CALL_stream___IStream___read_char(fra.me.REG[0])(fra.me.REG[0]);
345 goto label1;
346 label1: while(0);
347 stack_frame_head = fra.me.prev;
348 return REGB0;
349 }
350 val_t exec___IProcess___eof(val_t p0){
351 struct {struct stack_frame_t me;} fra;
352 val_t REGB0;
353 val_t tmp;
354 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
355 fra.me.file = LOCATE_exec;
356 fra.me.line = 85;
357 fra.me.meth = LOCATE_exec___IProcess___eof;
358 fra.me.has_broke = 0;
359 fra.me.REG_size = 1;
360 fra.me.REG[0] = NIT_NULL;
361 fra.me.REG[0] = p0;
362 REGB0 = TAG_Bool(ATTR_exec___IProcess____in(fra.me.REG[0])!=NIT_NULL);
363 /* ./../lib/standard//exec.nit:85 */
364 if (UNTAG_Bool(REGB0)) {
365 } else {
366 fprintf(stderr, "Uninitialized attribute %s", "_in");
367 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 85);
368 nit_exit(1);
369 }
370 fra.me.REG[0] = ATTR_exec___IProcess____in(fra.me.REG[0]);
371 REGB0 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]);
372 goto label1;
373 label1: while(0);
374 stack_frame_head = fra.me.prev;
375 return REGB0;
376 }
377 void exec___IProcess___init(val_t p0, val_t p1, val_t p2, int* init_table){
378 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IProcess].i;
379 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
380 val_t REGB0;
381 val_t tmp;
382 if (init_table[itpos3]) return;
383 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
384 fra.me.file = LOCATE_exec;
385 fra.me.line = 87;
386 fra.me.meth = LOCATE_exec___IProcess___init;
387 fra.me.has_broke = 0;
388 fra.me.REG_size = 3;
389 fra.me.REG[0] = NIT_NULL;
390 fra.me.REG[1] = NIT_NULL;
391 fra.me.REG[2] = NIT_NULL;
392 fra.me.REG[0] = p0;
393 fra.me.REG[1] = p1;
394 fra.me.REG[2] = p2;
395 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[String]*/;
396 /* ./../lib/standard//exec.nit:87 */
397 if (UNTAG_Bool(REGB0)) {
398 } else {
399 fprintf(stderr, "Cast failed");
400 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 87);
401 nit_exit(1);
402 }
403 REGB0 = TAG_Int(2);
404 /* ./../lib/standard//exec.nit:89 */
405 CALL_exec___Process___execute(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], REGB0, init_table);
406 REGB0 = TAG_Bool(ATTR_exec___Process____data(fra.me.REG[0])!=NIT_NULL);
407 /* ./../lib/standard//exec.nit:90 */
408 if (UNTAG_Bool(REGB0)) {
409 } else {
410 fprintf(stderr, "Uninitialized attribute %s", "_data");
411 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 90);
412 nit_exit(1);
413 }
414 fra.me.REG[2] = ATTR_exec___Process____data(fra.me.REG[0]);
415 REGB0 = CALL_exec___NativeProcess___out_fd(fra.me.REG[2])(fra.me.REG[2]);
416 fra.me.REG[2] = NEW_FDIStream_stream___FDIStream___init(REGB0);
417 ATTR_exec___IProcess____in(fra.me.REG[0]) = fra.me.REG[2];
418 stack_frame_head = fra.me.prev;
419 init_table[itpos3] = 1;
420 return;
421 }
422 void exec___IProcess___init_(val_t p0, val_t p1, int* init_table){
423 int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IProcess].i;
424 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
425 val_t REGB0;
426 val_t tmp;
427 if (init_table[itpos4]) return;
428 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
429 fra.me.file = LOCATE_exec;
430 fra.me.line = 93;
431 fra.me.meth = LOCATE_exec___IProcess___init_;
432 fra.me.has_broke = 0;
433 fra.me.REG_size = 2;
434 fra.me.REG[0] = NIT_NULL;
435 fra.me.REG[1] = NIT_NULL;
436 fra.me.REG[0] = p0;
437 fra.me.REG[1] = p1;
438 REGB0 = TAG_Int(2);
439 /* ./../lib/standard//exec.nit:95 */
440 CALL_exec___Process___execute(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], NIT_NULL, REGB0, init_table);
441 REGB0 = TAG_Bool(ATTR_exec___Process____data(fra.me.REG[0])!=NIT_NULL);
442 /* ./../lib/standard//exec.nit:96 */
443 if (UNTAG_Bool(REGB0)) {
444 } else {
445 fprintf(stderr, "Uninitialized attribute %s", "_data");
446 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 96);
447 nit_exit(1);
448 }
449 fra.me.REG[1] = ATTR_exec___Process____data(fra.me.REG[0]);
450 REGB0 = CALL_exec___NativeProcess___out_fd(fra.me.REG[1])(fra.me.REG[1]);
451 fra.me.REG[1] = NEW_FDIStream_stream___FDIStream___init(REGB0);
452 ATTR_exec___IProcess____in(fra.me.REG[0]) = fra.me.REG[1];
453 stack_frame_head = fra.me.prev;
454 init_table[itpos4] = 1;
455 return;
456 }
457 void exec___OProcess___close(val_t p0){
458 struct {struct stack_frame_t me;} fra;
459 val_t REGB0;
460 val_t tmp;
461 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
462 fra.me.file = LOCATE_exec;
463 fra.me.line = 106;
464 fra.me.meth = LOCATE_exec___OProcess___close;
465 fra.me.has_broke = 0;
466 fra.me.REG_size = 1;
467 fra.me.REG[0] = NIT_NULL;
468 fra.me.REG[0] = p0;
469 REGB0 = TAG_Bool(ATTR_exec___OProcess____out(fra.me.REG[0])!=NIT_NULL);
470 /* ./../lib/standard//exec.nit:106 */
471 if (UNTAG_Bool(REGB0)) {
472 } else {
473 fprintf(stderr, "Uninitialized attribute %s", "_out");
474 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 106);
475 nit_exit(1);
476 }
477 fra.me.REG[0] = ATTR_exec___OProcess____out(fra.me.REG[0]);
478 CALL_stream___IOS___close(fra.me.REG[0])(fra.me.REG[0]);
479 stack_frame_head = fra.me.prev;
480 return;
481 }
482 void exec___OProcess___write(val_t p0, val_t p1){
483 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
484 val_t REGB0;
485 val_t tmp;
486 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
487 fra.me.file = LOCATE_exec;
488 fra.me.line = 110;
489 fra.me.meth = LOCATE_exec___OProcess___write;
490 fra.me.has_broke = 0;
491 fra.me.REG_size = 2;
492 fra.me.REG[0] = NIT_NULL;
493 fra.me.REG[1] = NIT_NULL;
494 fra.me.REG[0] = p0;
495 fra.me.REG[1] = p1;
496 REGB0 = TAG_Bool(ATTR_exec___OProcess____out(fra.me.REG[0])!=NIT_NULL);
497 /* ./../lib/standard//exec.nit:110 */
498 if (UNTAG_Bool(REGB0)) {
499 } else {
500 fprintf(stderr, "Uninitialized attribute %s", "_out");
501 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 110);
502 nit_exit(1);
503 }
504 fra.me.REG[0] = ATTR_exec___OProcess____out(fra.me.REG[0]);
505 CALL_stream___OStream___write(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
506 stack_frame_head = fra.me.prev;
507 return;
508 }
509 val_t exec___OProcess___is_writable(val_t p0){
510 struct {struct stack_frame_t me;} fra;
511 val_t REGB0;
512 val_t tmp;
513 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
514 fra.me.file = LOCATE_exec;
515 fra.me.line = 108;
516 fra.me.meth = LOCATE_exec___OProcess___is_writable;
517 fra.me.has_broke = 0;
518 fra.me.REG_size = 1;
519 fra.me.REG[0] = NIT_NULL;
520 fra.me.REG[0] = p0;
521 REGB0 = TAG_Bool(ATTR_exec___OProcess____out(fra.me.REG[0])!=NIT_NULL);
522 /* ./../lib/standard//exec.nit:108 */
523 if (UNTAG_Bool(REGB0)) {
524 } else {
525 fprintf(stderr, "Uninitialized attribute %s", "_out");
526 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 108);
527 nit_exit(1);
528 }
529 fra.me.REG[0] = ATTR_exec___OProcess____out(fra.me.REG[0]);
530 REGB0 = CALL_stream___OStream___is_writable(fra.me.REG[0])(fra.me.REG[0]);
531 goto label1;
532 label1: while(0);
533 stack_frame_head = fra.me.prev;
534 return REGB0;
535 }
536 void exec___OProcess___init(val_t p0, val_t p1, val_t p2, int* init_table){
537 int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_OProcess].i;
538 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
539 val_t REGB0;
540 val_t tmp;
541 if (init_table[itpos5]) return;
542 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
543 fra.me.file = LOCATE_exec;
544 fra.me.line = 112;
545 fra.me.meth = LOCATE_exec___OProcess___init;
546 fra.me.has_broke = 0;
547 fra.me.REG_size = 3;
548 fra.me.REG[0] = NIT_NULL;
549 fra.me.REG[1] = NIT_NULL;
550 fra.me.REG[2] = NIT_NULL;
551 fra.me.REG[0] = p0;
552 fra.me.REG[1] = p1;
553 fra.me.REG[2] = p2;
554 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[String]*/;
555 /* ./../lib/standard//exec.nit:112 */
556 if (UNTAG_Bool(REGB0)) {
557 } else {
558 fprintf(stderr, "Cast failed");
559 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 112);
560 nit_exit(1);
561 }
562 REGB0 = TAG_Int(1);
563 /* ./../lib/standard//exec.nit:114 */
564 CALL_exec___Process___execute(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], REGB0, init_table);
565 REGB0 = TAG_Bool(ATTR_exec___Process____data(fra.me.REG[0])!=NIT_NULL);
566 /* ./../lib/standard//exec.nit:115 */
567 if (UNTAG_Bool(REGB0)) {
568 } else {
569 fprintf(stderr, "Uninitialized attribute %s", "_data");
570 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 115);
571 nit_exit(1);
572 }
573 fra.me.REG[2] = ATTR_exec___Process____data(fra.me.REG[0]);
574 REGB0 = CALL_exec___NativeProcess___in_fd(fra.me.REG[2])(fra.me.REG[2]);
575 fra.me.REG[2] = NEW_FDOStream_stream___FDOStream___init(REGB0);
576 ATTR_exec___OProcess____out(fra.me.REG[0]) = fra.me.REG[2];
577 stack_frame_head = fra.me.prev;
578 init_table[itpos5] = 1;
579 return;
580 }
581 void exec___OProcess___init_(val_t p0, val_t p1, int* init_table){
582 int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_OProcess].i;
583 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
584 val_t REGB0;
585 val_t tmp;
586 if (init_table[itpos6]) return;
587 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
588 fra.me.file = LOCATE_exec;
589 fra.me.line = 118;
590 fra.me.meth = LOCATE_exec___OProcess___init_;
591 fra.me.has_broke = 0;
592 fra.me.REG_size = 2;
593 fra.me.REG[0] = NIT_NULL;
594 fra.me.REG[1] = NIT_NULL;
595 fra.me.REG[0] = p0;
596 fra.me.REG[1] = p1;
597 REGB0 = TAG_Int(1);
598 /* ./../lib/standard//exec.nit:120 */
599 CALL_exec___Process___execute(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], NIT_NULL, REGB0, init_table);
600 REGB0 = TAG_Bool(ATTR_exec___Process____data(fra.me.REG[0])!=NIT_NULL);
601 /* ./../lib/standard//exec.nit:121 */
602 if (UNTAG_Bool(REGB0)) {
603 } else {
604 fprintf(stderr, "Uninitialized attribute %s", "_data");
605 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 121);
606 nit_exit(1);
607 }
608 fra.me.REG[1] = ATTR_exec___Process____data(fra.me.REG[0]);
609 REGB0 = CALL_exec___NativeProcess___in_fd(fra.me.REG[1])(fra.me.REG[1]);
610 fra.me.REG[1] = NEW_FDOStream_stream___FDOStream___init(REGB0);
611 ATTR_exec___OProcess____out(fra.me.REG[0]) = fra.me.REG[1];
612 stack_frame_head = fra.me.prev;
613 init_table[itpos6] = 1;
614 return;
615 }
616 void exec___IOProcess___close(val_t p0){
617 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
618 val_t REGB0;
619 val_t tmp;
620 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
621 fra.me.file = LOCATE_exec;
622 fra.me.line = 131;
623 fra.me.meth = LOCATE_exec___IOProcess___close;
624 fra.me.has_broke = 0;
625 fra.me.REG_size = 2;
626 fra.me.REG[0] = NIT_NULL;
627 fra.me.REG[1] = NIT_NULL;
628 fra.me.REG[0] = p0;
629 REGB0 = TAG_Bool(ATTR_exec___IProcess____in(fra.me.REG[0])!=NIT_NULL);
630 /* ./../lib/standard//exec.nit:133 */
631 if (UNTAG_Bool(REGB0)) {
632 } else {
633 fprintf(stderr, "Uninitialized attribute %s", "_in");
634 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 133);
635 nit_exit(1);
636 }
637 fra.me.REG[1] = ATTR_exec___IProcess____in(fra.me.REG[0]);
638 CALL_stream___IOS___close(fra.me.REG[1])(fra.me.REG[1]);
639 REGB0 = TAG_Bool(ATTR_exec___OProcess____out(fra.me.REG[0])!=NIT_NULL);
640 /* ./../lib/standard//exec.nit:134 */
641 if (UNTAG_Bool(REGB0)) {
642 } else {
643 fprintf(stderr, "Uninitialized attribute %s", "_out");
644 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 134);
645 nit_exit(1);
646 }
647 fra.me.REG[0] = ATTR_exec___OProcess____out(fra.me.REG[0]);
648 CALL_stream___IOS___close(fra.me.REG[0])(fra.me.REG[0]);
649 stack_frame_head = fra.me.prev;
650 return;
651 }
652 void exec___IOProcess___init(val_t p0, val_t p1, val_t p2, int* init_table){
653 int itpos7 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IOProcess].i;
654 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
655 val_t REGB0;
656 val_t tmp;
657 if (init_table[itpos7]) return;
658 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
659 fra.me.file = LOCATE_exec;
660 fra.me.line = 137;
661 fra.me.meth = LOCATE_exec___IOProcess___init;
662 fra.me.has_broke = 0;
663 fra.me.REG_size = 6;
664 fra.me.REG[0] = NIT_NULL;
665 fra.me.REG[1] = NIT_NULL;
666 fra.me.REG[2] = NIT_NULL;
667 fra.me.REG[3] = NIT_NULL;
668 fra.me.REG[4] = NIT_NULL;
669 fra.me.REG[5] = NIT_NULL;
670 fra.me.REG[0] = p0;
671 fra.me.REG[1] = p1;
672 fra.me.REG[2] = p2;
673 fra.me.REG[3] = fra.me.REG[0];
674 fra.me.REG[4] = fra.me.REG[1];
675 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[String]*/;
676 /* ./../lib/standard//exec.nit:137 */
677 if (UNTAG_Bool(REGB0)) {
678 } else {
679 fprintf(stderr, "Cast failed");
680 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 137);
681 nit_exit(1);
682 }
683 fra.me.REG[5] = fra.me.REG[2];
684 REGB0 = TAG_Int(3);
685 /* ./../lib/standard//exec.nit:139 */
686 CALL_exec___Process___execute(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5], REGB0, init_table);
687 CALL_exec___IProcess___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
688 CALL_exec___OProcess___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
689 REGB0 = TAG_Bool(ATTR_exec___Process____data(fra.me.REG[3])!=NIT_NULL);
690 /* ./../lib/standard//exec.nit:140 */
691 if (UNTAG_Bool(REGB0)) {
692 } else {
693 fprintf(stderr, "Uninitialized attribute %s", "_data");
694 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 140);
695 nit_exit(1);
696 }
697 fra.me.REG[2] = ATTR_exec___Process____data(fra.me.REG[3]);
698 REGB0 = CALL_exec___NativeProcess___out_fd(fra.me.REG[2])(fra.me.REG[2]);
699 fra.me.REG[2] = NEW_FDIStream_stream___FDIStream___init(REGB0);
700 ATTR_exec___IProcess____in(fra.me.REG[3]) = fra.me.REG[2];
701 REGB0 = TAG_Bool(ATTR_exec___Process____data(fra.me.REG[3])!=NIT_NULL);
702 /* ./../lib/standard//exec.nit:141 */
703 if (UNTAG_Bool(REGB0)) {
704 } else {
705 fprintf(stderr, "Uninitialized attribute %s", "_data");
706 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 141);
707 nit_exit(1);
708 }
709 fra.me.REG[2] = ATTR_exec___Process____data(fra.me.REG[3]);
710 REGB0 = CALL_exec___NativeProcess___in_fd(fra.me.REG[2])(fra.me.REG[2]);
711 fra.me.REG[2] = NEW_FDOStream_stream___FDOStream___init(REGB0);
712 ATTR_exec___OProcess____out(fra.me.REG[3]) = fra.me.REG[2];
713 stack_frame_head = fra.me.prev;
714 init_table[itpos7] = 1;
715 return;
716 }
717 void exec___IOProcess___init_(val_t p0, val_t p1, int* init_table){
718 int itpos8 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IOProcess].i;
719 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
720 val_t REGB0;
721 val_t tmp;
722 if (init_table[itpos8]) return;
723 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
724 fra.me.file = LOCATE_exec;
725 fra.me.line = 144;
726 fra.me.meth = LOCATE_exec___IOProcess___init_;
727 fra.me.has_broke = 0;
728 fra.me.REG_size = 4;
729 fra.me.REG[0] = NIT_NULL;
730 fra.me.REG[1] = NIT_NULL;
731 fra.me.REG[2] = NIT_NULL;
732 fra.me.REG[3] = NIT_NULL;
733 fra.me.REG[0] = p0;
734 fra.me.REG[1] = p1;
735 fra.me.REG[2] = fra.me.REG[0];
736 fra.me.REG[3] = fra.me.REG[1];
737 REGB0 = TAG_Int(3);
738 /* ./../lib/standard//exec.nit:146 */
739 CALL_exec___Process___execute(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3], NIT_NULL, REGB0, init_table);
740 CALL_exec___IProcess___init_(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], init_table);
741 CALL_exec___OProcess___init_(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], init_table);
742 REGB0 = TAG_Bool(ATTR_exec___Process____data(fra.me.REG[2])!=NIT_NULL);
743 /* ./../lib/standard//exec.nit:147 */
744 if (UNTAG_Bool(REGB0)) {
745 } else {
746 fprintf(stderr, "Uninitialized attribute %s", "_data");
747 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 147);
748 nit_exit(1);
749 }
750 fra.me.REG[1] = ATTR_exec___Process____data(fra.me.REG[2]);
751 REGB0 = CALL_exec___NativeProcess___out_fd(fra.me.REG[1])(fra.me.REG[1]);
752 fra.me.REG[1] = NEW_FDIStream_stream___FDIStream___init(REGB0);
753 ATTR_exec___IProcess____in(fra.me.REG[2]) = fra.me.REG[1];
754 REGB0 = TAG_Bool(ATTR_exec___Process____data(fra.me.REG[2])!=NIT_NULL);
755 /* ./../lib/standard//exec.nit:148 */
756 if (UNTAG_Bool(REGB0)) {
757 } else {
758 fprintf(stderr, "Uninitialized attribute %s", "_data");
759 fprintf(stderr, " (%s:%d)\n", LOCATE_exec, 148);
760 nit_exit(1);
761 }
762 fra.me.REG[1] = ATTR_exec___Process____data(fra.me.REG[2]);
763 REGB0 = CALL_exec___NativeProcess___in_fd(fra.me.REG[1])(fra.me.REG[1]);
764 fra.me.REG[1] = NEW_FDOStream_stream___FDOStream___init(REGB0);
765 ATTR_exec___OProcess____out(fra.me.REG[2]) = fra.me.REG[1];
766 stack_frame_head = fra.me.prev;
767 init_table[itpos8] = 1;
768 return;
769 }
770 val_t exec___Sys___system(val_t p0, val_t p1){
771 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
772 val_t REGB0;
773 val_t tmp;
774 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
775 fra.me.file = LOCATE_exec;
776 fra.me.line = 153;
777 fra.me.meth = LOCATE_exec___Sys___system;
778 fra.me.has_broke = 0;
779 fra.me.REG_size = 2;
780 fra.me.REG[0] = NIT_NULL;
781 fra.me.REG[1] = NIT_NULL;
782 fra.me.REG[0] = p0;
783 fra.me.REG[1] = p1;
784 fra.me.REG[1] = CALL_string___String___to_cstring(fra.me.REG[1])(fra.me.REG[1]);
785 REGB0 = CALL_exec___NativeString___system(fra.me.REG[1])(fra.me.REG[1]);
786 /* ./../lib/standard//exec.nit:156 */
787 goto label1;
788 label1: while(0);
789 stack_frame_head = fra.me.prev;
790 return REGB0;
791 }
792 val_t exec___NativeString___system(val_t p0){
793 struct {struct stack_frame_t me;} fra;
794 val_t REGB0;
795 val_t tmp;
796 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
797 fra.me.file = LOCATE_exec;
798 fra.me.line = 161;
799 fra.me.meth = LOCATE_exec___NativeString___system;
800 fra.me.has_broke = 0;
801 fra.me.REG_size = 1;
802 fra.me.REG[0] = NIT_NULL;
803 fra.me.REG[0] = p0;
804 REGB0 = TAG_Int(string_NativeString_NativeString_system_0(UNBOX_NativeString(fra.me.REG[0])));
805 /* ./../lib/standard//exec.nit:161 */
806 stack_frame_head = fra.me.prev;
807 return REGB0;
808 }
809 val_t exec___NativeProcess___id(val_t p0){
810 struct {struct stack_frame_t me;} fra;
811 val_t REGB0;
812 val_t tmp;
813 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
814 fra.me.file = LOCATE_exec;
815 fra.me.line = 166;
816 fra.me.meth = LOCATE_exec___NativeProcess___id;
817 fra.me.has_broke = 0;
818 fra.me.REG_size = 1;
819 fra.me.REG[0] = NIT_NULL;
820 fra.me.REG[0] = p0;
821 REGB0 = TAG_Int(exec_NativeProcess_NativeProcess_id_0(UNBOX_NativeProcess(fra.me.REG[0])));
822 /* ./../lib/standard//exec.nit:166 */
823 stack_frame_head = fra.me.prev;
824 return REGB0;
825 }
826 val_t exec___NativeProcess___is_finished(val_t p0){
827 struct {struct stack_frame_t me;} fra;
828 val_t REGB0;
829 val_t tmp;
830 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
831 fra.me.file = LOCATE_exec;
832 fra.me.line = 167;
833 fra.me.meth = LOCATE_exec___NativeProcess___is_finished;
834 fra.me.has_broke = 0;
835 fra.me.REG_size = 1;
836 fra.me.REG[0] = NIT_NULL;
837 fra.me.REG[0] = p0;
838 REGB0 = TAG_Bool(exec_NativeProcess_NativeProcess_is_finished_0(UNBOX_NativeProcess(fra.me.REG[0])));
839 /* ./../lib/standard//exec.nit:167 */
840 stack_frame_head = fra.me.prev;
841 return REGB0;
842 }
843 val_t exec___NativeProcess___status(val_t p0){
844 struct {struct stack_frame_t me;} fra;
845 val_t REGB0;
846 val_t tmp;
847 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
848 fra.me.file = LOCATE_exec;
849 fra.me.line = 168;
850 fra.me.meth = LOCATE_exec___NativeProcess___status;
851 fra.me.has_broke = 0;
852 fra.me.REG_size = 1;
853 fra.me.REG[0] = NIT_NULL;
854 fra.me.REG[0] = p0;
855 REGB0 = TAG_Int(exec_NativeProcess_NativeProcess_status_0(UNBOX_NativeProcess(fra.me.REG[0])));
856 /* ./../lib/standard//exec.nit:168 */
857 stack_frame_head = fra.me.prev;
858 return REGB0;
859 }
860 void exec___NativeProcess___wait(val_t p0){
861 struct {struct stack_frame_t me;} fra;
862 val_t tmp;
863 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
864 fra.me.file = LOCATE_exec;
865 fra.me.line = 169;
866 fra.me.meth = LOCATE_exec___NativeProcess___wait;
867 fra.me.has_broke = 0;
868 fra.me.REG_size = 1;
869 fra.me.REG[0] = NIT_NULL;
870 fra.me.REG[0] = p0;
871 /* ./../lib/standard//exec.nit:169 */
872 exec_NativeProcess_NativeProcess_wait_0(UNBOX_NativeProcess(fra.me.REG[0]));
873 stack_frame_head = fra.me.prev;
874 return;
875 }
876 val_t exec___NativeProcess___in_fd(val_t p0){
877 struct {struct stack_frame_t me;} fra;
878 val_t REGB0;
879 val_t tmp;
880 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
881 fra.me.file = LOCATE_exec;
882 fra.me.line = 171;
883 fra.me.meth = LOCATE_exec___NativeProcess___in_fd;
884 fra.me.has_broke = 0;
885 fra.me.REG_size = 1;
886 fra.me.REG[0] = NIT_NULL;
887 fra.me.REG[0] = p0;
888 REGB0 = TAG_Int(exec_NativeProcess_NativeProcess_in_fd_0(UNBOX_NativeProcess(fra.me.REG[0])));
889 /* ./../lib/standard//exec.nit:171 */
890 stack_frame_head = fra.me.prev;
891 return REGB0;
892 }
893 val_t exec___NativeProcess___out_fd(val_t p0){
894 struct {struct stack_frame_t me;} fra;
895 val_t REGB0;
896 val_t tmp;
897 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
898 fra.me.file = LOCATE_exec;
899 fra.me.line = 172;
900 fra.me.meth = LOCATE_exec___NativeProcess___out_fd;
901 fra.me.has_broke = 0;
902 fra.me.REG_size = 1;
903 fra.me.REG[0] = NIT_NULL;
904 fra.me.REG[0] = p0;
905 REGB0 = TAG_Int(exec_NativeProcess_NativeProcess_out_fd_0(UNBOX_NativeProcess(fra.me.REG[0])));
906 /* ./../lib/standard//exec.nit:172 */
907 stack_frame_head = fra.me.prev;
908 return REGB0;
909 }
910 val_t exec___NativeProcess___err_fd(val_t p0){
911 struct {struct stack_frame_t me;} fra;
912 val_t REGB0;
913 val_t tmp;
914 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
915 fra.me.file = LOCATE_exec;
916 fra.me.line = 173;
917 fra.me.meth = LOCATE_exec___NativeProcess___err_fd;
918 fra.me.has_broke = 0;
919 fra.me.REG_size = 1;
920 fra.me.REG[0] = NIT_NULL;
921 fra.me.REG[0] = p0;
922 REGB0 = TAG_Int(exec_NativeProcess_NativeProcess_err_fd_0(UNBOX_NativeProcess(fra.me.REG[0])));
923 /* ./../lib/standard//exec.nit:173 */
924 stack_frame_head = fra.me.prev;
925 return REGB0;
926 }