update NOTICE and LICENSE
[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 /* ./../lib/standard//exec.nit:24 */
16 REGB0 = TAG_Bool(ATTR_exec___Process____data(fra.me.REG[0])!=NIT_NULL);
17 if (UNTAG_Bool(REGB0)) {
18 } else {
19 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec, 24);
20 }
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]);
23 goto label1;
24 label1: while(0);
25 stack_frame_head = fra.me.prev;
26 return REGB0;
27 }
28 val_t exec___Process___is_finished(val_t p0){
29 struct {struct stack_frame_t me;} fra;
30 val_t REGB0;
31 val_t tmp;
32 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33 fra.me.file = LOCATE_exec;
34 fra.me.line = 26;
35 fra.me.meth = LOCATE_exec___Process___is_finished;
36 fra.me.has_broke = 0;
37 fra.me.REG_size = 1;
38 fra.me.REG[0] = NIT_NULL;
39 fra.me.REG[0] = p0;
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)) {
43 } else {
44 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec, 27);
45 }
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]);
48 goto label1;
49 label1: while(0);
50 stack_frame_head = fra.me.prev;
51 return REGB0;
52 }
53 void exec___Process___wait(val_t p0){
54 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
55 val_t REGB0;
56 val_t tmp;
57 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58 fra.me.file = LOCATE_exec;
59 fra.me.line = 29;
60 fra.me.meth = LOCATE_exec___Process___wait;
61 fra.me.has_broke = 0;
62 fra.me.REG_size = 2;
63 fra.me.REG[0] = NIT_NULL;
64 fra.me.REG[1] = NIT_NULL;
65 fra.me.REG[0] = p0;
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)) {
69 } else {
70 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec, 32);
71 }
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)) {
77 } else {
78 nit_abort("Assert failed", NULL, LOCATE_exec, 33);
79 }
80 stack_frame_head = fra.me.prev;
81 return;
82 }
83 val_t exec___Process___status(val_t p0){
84 struct {struct stack_frame_t me;} fra;
85 val_t REGB0;
86 val_t tmp;
87 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88 fra.me.file = LOCATE_exec;
89 fra.me.line = 36;
90 fra.me.meth = LOCATE_exec___Process___status;
91 fra.me.has_broke = 0;
92 fra.me.REG_size = 1;
93 fra.me.REG[0] = NIT_NULL;
94 fra.me.REG[0] = p0;
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)) {
98 } else {
99 nit_abort("Assert failed", NULL, LOCATE_exec, 39);
100 }
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)) {
104 } else {
105 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec, 40);
106 }
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]);
109 goto label1;
110 label1: while(0);
111 stack_frame_head = fra.me.prev;
112 return REGB0;
113 }
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;
117 val_t REGB0;
118 val_t tmp;
119 if (init_table[itpos0]) return;
120 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
121 fra.me.file = LOCATE_exec;
122 fra.me.line = 43;
123 fra.me.meth = LOCATE_exec___Process___init;
124 fra.me.has_broke = 0;
125 fra.me.REG_size = 3;
126 fra.me.REG[0] = NIT_NULL;
127 fra.me.REG[1] = NIT_NULL;
128 fra.me.REG[2] = NIT_NULL;
129 fra.me.REG[0] = p0;
130 fra.me.REG[1] = p1;
131 fra.me.REG[2] = p2;
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)) {
135 } else {
136 nit_abort("Cast failed", NULL, LOCATE_exec, 43);
137 }
138 /* ./../lib/standard//exec.nit:46 */
139 REGB0 = TAG_Int(0);
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;
143 return;
144 }
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;
148 val_t REGB0;
149 val_t tmp;
150 if (init_table[itpos1]) return;
151 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
152 fra.me.file = LOCATE_exec;
153 fra.me.line = 49;
154 fra.me.meth = LOCATE_exec___Process___init_;
155 fra.me.has_broke = 0;
156 fra.me.REG_size = 2;
157 fra.me.REG[0] = NIT_NULL;
158 fra.me.REG[1] = NIT_NULL;
159 fra.me.REG[0] = p0;
160 fra.me.REG[1] = p1;
161 /* ./../lib/standard//exec.nit:52 */
162 REGB0 = TAG_Int(0);
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;
166 return;
167 }
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;
171 val_t REGB0;
172 val_t REGB1;
173 val_t REGB2;
174 val_t REGB3;
175 val_t tmp;
176 if (init_table[itpos2]) return;
177 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
178 fra.me.file = LOCATE_exec;
179 fra.me.line = 55;
180 fra.me.meth = LOCATE_exec___Process___execute;
181 fra.me.has_broke = 0;
182 fra.me.REG_size = 7;
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;
190 fra.me.REG[0] = p0;
191 fra.me.REG[1] = p1;
192 fra.me.REG[2] = p2;
193 REGB0 = p3;
194 /* ./../lib/standard//exec.nit:58 */
195 fra.me.REG[3] = NEW_Buffer_string___Buffer___init();
196 /* ./../lib/standard//exec.nit:59 */
197 REGB1 = TAG_Int(1);
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)) {
203 } else {
204 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
205 if (UNTAG_Bool(REGB3)) {
206 REGB3 = TAG_Bool(false);
207 REGB2 = REGB3;
208 } else {
209 REGB3 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
210 REGB2 = REGB3;
211 }
212 }
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);
219 }
220 /* ./../lib/standard//collection//array.nit:231 */
221 fra.me.REG[4] = fra.me.REG[2];
222 /* ./../lib/standard//collection//array.nit:234 */
223 REGB2 = TAG_Int(0);
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)) {
227 } else {
228 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
229 }
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 */
234 while(1) {
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)) {
238 } else {
239 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
240 }
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);
250 }
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 */
259 REGB3 = TAG_Int(1);
260 /* ./../lib/standard//kernel.nit:215 */
261 REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB3));
262 /* ./../lib/standard//collection//array.nit:239 */
263 REGB2 = REGB3;
264 } else {
265 /* ./../lib/standard//collection//array.nit:237 */
266 goto label1;
267 }
268 }
269 label1: while(0);
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);
274 }
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)) {
278 } else {
279 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
280 }
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 */
285 REGB1 = REGB2;
286 }
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;
295 return;
296 }
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;
299 val_t REGB0;
300 val_t REGB1;
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 = 72;
305 fra.me.meth = LOCATE_exec___Process___basic_exec_execute;
306 fra.me.has_broke = 0;
307 fra.me.REG_size = 3;
308 fra.me.REG[0] = NIT_NULL;
309 fra.me.REG[1] = NIT_NULL;
310 fra.me.REG[2] = NIT_NULL;
311 fra.me.REG[0] = p0;
312 fra.me.REG[1] = p1;
313 fra.me.REG[2] = p2;
314 REGB0 = p3;
315 REGB1 = p4;
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];
320 }
321 void exec___IProcess___close(val_t p0){
322 struct {struct stack_frame_t me;} fra;
323 val_t REGB0;
324 val_t tmp;
325 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
326 fra.me.file = LOCATE_exec;
327 fra.me.line = 81;
328 fra.me.meth = LOCATE_exec___IProcess___close;
329 fra.me.has_broke = 0;
330 fra.me.REG_size = 1;
331 fra.me.REG[0] = NIT_NULL;
332 fra.me.REG[0] = p0;
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)) {
336 } else {
337 nit_abort("Uninitialized attribute %s", "_in", LOCATE_exec, 81);
338 }
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;
342 return;
343 }
344 val_t exec___IProcess___read_char(val_t p0){
345 struct {struct stack_frame_t me;} fra;
346 val_t REGB0;
347 val_t tmp;
348 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
349 fra.me.file = LOCATE_exec;
350 fra.me.line = 83;
351 fra.me.meth = LOCATE_exec___IProcess___read_char;
352 fra.me.has_broke = 0;
353 fra.me.REG_size = 1;
354 fra.me.REG[0] = NIT_NULL;
355 fra.me.REG[0] = p0;
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)) {
359 } else {
360 nit_abort("Uninitialized attribute %s", "_in", LOCATE_exec, 83);
361 }
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]);
364 goto label1;
365 label1: while(0);
366 stack_frame_head = fra.me.prev;
367 return REGB0;
368 }
369 val_t exec___IProcess___eof(val_t p0){
370 struct {struct stack_frame_t me;} fra;
371 val_t REGB0;
372 val_t tmp;
373 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
374 fra.me.file = LOCATE_exec;
375 fra.me.line = 85;
376 fra.me.meth = LOCATE_exec___IProcess___eof;
377 fra.me.has_broke = 0;
378 fra.me.REG_size = 1;
379 fra.me.REG[0] = NIT_NULL;
380 fra.me.REG[0] = p0;
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)) {
384 } else {
385 nit_abort("Uninitialized attribute %s", "_in", LOCATE_exec, 85);
386 }
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]);
389 goto label1;
390 label1: while(0);
391 stack_frame_head = fra.me.prev;
392 return REGB0;
393 }
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;
397 val_t REGB0;
398 val_t tmp;
399 if (init_table[itpos3]) return;
400 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
401 fra.me.file = LOCATE_exec;
402 fra.me.line = 87;
403 fra.me.meth = LOCATE_exec___IProcess___init;
404 fra.me.has_broke = 0;
405 fra.me.REG_size = 3;
406 fra.me.REG[0] = NIT_NULL;
407 fra.me.REG[1] = NIT_NULL;
408 fra.me.REG[2] = NIT_NULL;
409 fra.me.REG[0] = p0;
410 fra.me.REG[1] = p1;
411 fra.me.REG[2] = p2;
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)) {
415 } else {
416 nit_abort("Cast failed", NULL, LOCATE_exec, 87);
417 }
418 /* ./../lib/standard//exec.nit:89 */
419 REGB0 = TAG_Int(2);
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)) {
424 } else {
425 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec, 90);
426 }
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;
433 return;
434 }
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;
438 val_t REGB0;
439 val_t tmp;
440 if (init_table[itpos4]) return;
441 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
442 fra.me.file = LOCATE_exec;
443 fra.me.line = 93;
444 fra.me.meth = LOCATE_exec___IProcess___init_;
445 fra.me.has_broke = 0;
446 fra.me.REG_size = 2;
447 fra.me.REG[0] = NIT_NULL;
448 fra.me.REG[1] = NIT_NULL;
449 fra.me.REG[0] = p0;
450 fra.me.REG[1] = p1;
451 /* ./../lib/standard//exec.nit:95 */
452 REGB0 = TAG_Int(2);
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)) {
457 } else {
458 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec, 96);
459 }
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;
466 return;
467 }
468 void exec___OProcess___close(val_t p0){
469 struct {struct stack_frame_t me;} fra;
470 val_t REGB0;
471 val_t tmp;
472 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
473 fra.me.file = LOCATE_exec;
474 fra.me.line = 106;
475 fra.me.meth = LOCATE_exec___OProcess___close;
476 fra.me.has_broke = 0;
477 fra.me.REG_size = 1;
478 fra.me.REG[0] = NIT_NULL;
479 fra.me.REG[0] = p0;
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)) {
483 } else {
484 nit_abort("Uninitialized attribute %s", "_out", LOCATE_exec, 106);
485 }
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;
489 return;
490 }
491 val_t exec___OProcess___is_writable(val_t p0){
492 struct {struct stack_frame_t me;} fra;
493 val_t REGB0;
494 val_t tmp;
495 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
496 fra.me.file = LOCATE_exec;
497 fra.me.line = 108;
498 fra.me.meth = LOCATE_exec___OProcess___is_writable;
499 fra.me.has_broke = 0;
500 fra.me.REG_size = 1;
501 fra.me.REG[0] = NIT_NULL;
502 fra.me.REG[0] = p0;
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)) {
506 } else {
507 nit_abort("Uninitialized attribute %s", "_out", LOCATE_exec, 108);
508 }
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]);
511 goto label1;
512 label1: while(0);
513 stack_frame_head = fra.me.prev;
514 return REGB0;
515 }
516 void exec___OProcess___write(val_t p0, val_t p1){
517 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
518 val_t REGB0;
519 val_t tmp;
520 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
521 fra.me.file = LOCATE_exec;
522 fra.me.line = 110;
523 fra.me.meth = LOCATE_exec___OProcess___write;
524 fra.me.has_broke = 0;
525 fra.me.REG_size = 2;
526 fra.me.REG[0] = NIT_NULL;
527 fra.me.REG[1] = NIT_NULL;
528 fra.me.REG[0] = p0;
529 fra.me.REG[1] = p1;
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)) {
533 } else {
534 nit_abort("Uninitialized attribute %s", "_out", LOCATE_exec, 110);
535 }
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;
539 return;
540 }
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;
544 val_t REGB0;
545 val_t tmp;
546 if (init_table[itpos5]) return;
547 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
548 fra.me.file = LOCATE_exec;
549 fra.me.line = 112;
550 fra.me.meth = LOCATE_exec___OProcess___init;
551 fra.me.has_broke = 0;
552 fra.me.REG_size = 3;
553 fra.me.REG[0] = NIT_NULL;
554 fra.me.REG[1] = NIT_NULL;
555 fra.me.REG[2] = NIT_NULL;
556 fra.me.REG[0] = p0;
557 fra.me.REG[1] = p1;
558 fra.me.REG[2] = p2;
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)) {
562 } else {
563 nit_abort("Cast failed", NULL, LOCATE_exec, 112);
564 }
565 /* ./../lib/standard//exec.nit:114 */
566 REGB0 = TAG_Int(1);
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)) {
571 } else {
572 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec, 115);
573 }
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;
580 return;
581 }
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;
585 val_t REGB0;
586 val_t tmp;
587 if (init_table[itpos6]) return;
588 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
589 fra.me.file = LOCATE_exec;
590 fra.me.line = 118;
591 fra.me.meth = LOCATE_exec___OProcess___init_;
592 fra.me.has_broke = 0;
593 fra.me.REG_size = 2;
594 fra.me.REG[0] = NIT_NULL;
595 fra.me.REG[1] = NIT_NULL;
596 fra.me.REG[0] = p0;
597 fra.me.REG[1] = p1;
598 /* ./../lib/standard//exec.nit:120 */
599 REGB0 = TAG_Int(1);
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)) {
604 } else {
605 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec, 121);
606 }
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;
613 return;
614 }
615 void exec___IOProcess___close(val_t p0){
616 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
617 val_t REGB0;
618 val_t tmp;
619 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
620 fra.me.file = LOCATE_exec;
621 fra.me.line = 131;
622 fra.me.meth = LOCATE_exec___IOProcess___close;
623 fra.me.has_broke = 0;
624 fra.me.REG_size = 2;
625 fra.me.REG[0] = NIT_NULL;
626 fra.me.REG[1] = NIT_NULL;
627 fra.me.REG[0] = p0;
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)) {
631 } else {
632 nit_abort("Uninitialized attribute %s", "_in", LOCATE_exec, 133);
633 }
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)) {
639 } else {
640 nit_abort("Uninitialized attribute %s", "_out", LOCATE_exec, 134);
641 }
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;
645 return;
646 }
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;
650 val_t REGB0;
651 val_t tmp;
652 if (init_table[itpos7]) return;
653 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
654 fra.me.file = LOCATE_exec;
655 fra.me.line = 137;
656 fra.me.meth = LOCATE_exec___IOProcess___init;
657 fra.me.has_broke = 0;
658 fra.me.REG_size = 6;
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;
665 fra.me.REG[0] = p0;
666 fra.me.REG[1] = p1;
667 fra.me.REG[2] = p2;
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)) {
673 } else {
674 nit_abort("Cast failed", NULL, LOCATE_exec, 137);
675 }
676 fra.me.REG[5] = fra.me.REG[2];
677 /* ./../lib/standard//exec.nit:139 */
678 REGB0 = TAG_Int(3);
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)) {
685 } else {
686 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec, 140);
687 }
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)) {
695 } else {
696 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec, 141);
697 }
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;
704 return;
705 }
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;
709 val_t REGB0;
710 val_t tmp;
711 if (init_table[itpos8]) return;
712 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
713 fra.me.file = LOCATE_exec;
714 fra.me.line = 144;
715 fra.me.meth = LOCATE_exec___IOProcess___init_;
716 fra.me.has_broke = 0;
717 fra.me.REG_size = 4;
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;
722 fra.me.REG[0] = p0;
723 fra.me.REG[1] = p1;
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 */
728 REGB0 = TAG_Int(3);
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)) {
735 } else {
736 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec, 147);
737 }
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)) {
745 } else {
746 nit_abort("Uninitialized attribute %s", "_data", LOCATE_exec, 148);
747 }
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;
754 return;
755 }
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;
758 val_t REGB0;
759 val_t tmp;
760 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
761 fra.me.file = LOCATE_exec;
762 fra.me.line = 153;
763 fra.me.meth = LOCATE_exec___Sys___system;
764 fra.me.has_broke = 0;
765 fra.me.REG_size = 2;
766 fra.me.REG[0] = NIT_NULL;
767 fra.me.REG[1] = NIT_NULL;
768 fra.me.REG[0] = p0;
769 fra.me.REG[1] = p1;
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]);
773 goto label1;
774 label1: while(0);
775 stack_frame_head = fra.me.prev;
776 return REGB0;
777 }
778 val_t exec___NativeString___system(val_t p0){
779 struct {struct stack_frame_t me;} fra;
780 val_t REGB0;
781 val_t tmp;
782 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
783 fra.me.file = LOCATE_exec;
784 fra.me.line = 161;
785 fra.me.meth = LOCATE_exec___NativeString___system;
786 fra.me.has_broke = 0;
787 fra.me.REG_size = 1;
788 fra.me.REG[0] = NIT_NULL;
789 fra.me.REG[0] = p0;
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;
793 return REGB0;
794 }
795 val_t exec___NativeProcess___id(val_t p0){
796 struct {struct stack_frame_t me;} fra;
797 val_t REGB0;
798 val_t tmp;
799 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
800 fra.me.file = LOCATE_exec;
801 fra.me.line = 166;
802 fra.me.meth = LOCATE_exec___NativeProcess___id;
803 fra.me.has_broke = 0;
804 fra.me.REG_size = 1;
805 fra.me.REG[0] = NIT_NULL;
806 fra.me.REG[0] = p0;
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;
810 return REGB0;
811 }
812 val_t exec___NativeProcess___is_finished(val_t p0){
813 struct {struct stack_frame_t me;} fra;
814 val_t REGB0;
815 val_t tmp;
816 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
817 fra.me.file = LOCATE_exec;
818 fra.me.line = 167;
819 fra.me.meth = LOCATE_exec___NativeProcess___is_finished;
820 fra.me.has_broke = 0;
821 fra.me.REG_size = 1;
822 fra.me.REG[0] = NIT_NULL;
823 fra.me.REG[0] = p0;
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;
827 return REGB0;
828 }
829 val_t exec___NativeProcess___status(val_t p0){
830 struct {struct stack_frame_t me;} fra;
831 val_t REGB0;
832 val_t tmp;
833 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
834 fra.me.file = LOCATE_exec;
835 fra.me.line = 168;
836 fra.me.meth = LOCATE_exec___NativeProcess___status;
837 fra.me.has_broke = 0;
838 fra.me.REG_size = 1;
839 fra.me.REG[0] = NIT_NULL;
840 fra.me.REG[0] = p0;
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;
844 return REGB0;
845 }
846 void exec___NativeProcess___wait(val_t p0){
847 struct {struct stack_frame_t me;} fra;
848 val_t tmp;
849 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
850 fra.me.file = LOCATE_exec;
851 fra.me.line = 169;
852 fra.me.meth = LOCATE_exec___NativeProcess___wait;
853 fra.me.has_broke = 0;
854 fra.me.REG_size = 1;
855 fra.me.REG[0] = NIT_NULL;
856 fra.me.REG[0] = p0;
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;
860 return;
861 }
862 val_t exec___NativeProcess___in_fd(val_t p0){
863 struct {struct stack_frame_t me;} fra;
864 val_t REGB0;
865 val_t tmp;
866 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
867 fra.me.file = LOCATE_exec;
868 fra.me.line = 171;
869 fra.me.meth = LOCATE_exec___NativeProcess___in_fd;
870 fra.me.has_broke = 0;
871 fra.me.REG_size = 1;
872 fra.me.REG[0] = NIT_NULL;
873 fra.me.REG[0] = p0;
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;
877 return REGB0;
878 }
879 val_t exec___NativeProcess___out_fd(val_t p0){
880 struct {struct stack_frame_t me;} fra;
881 val_t REGB0;
882 val_t tmp;
883 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
884 fra.me.file = LOCATE_exec;
885 fra.me.line = 172;
886 fra.me.meth = LOCATE_exec___NativeProcess___out_fd;
887 fra.me.has_broke = 0;
888 fra.me.REG_size = 1;
889 fra.me.REG[0] = NIT_NULL;
890 fra.me.REG[0] = p0;
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;
894 return REGB0;
895 }
896 val_t exec___NativeProcess___err_fd(val_t p0){
897 struct {struct stack_frame_t me;} fra;
898 val_t REGB0;
899 val_t tmp;
900 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
901 fra.me.file = LOCATE_exec;
902 fra.me.line = 173;
903 fra.me.meth = LOCATE_exec___NativeProcess___err_fd;
904 fra.me.has_broke = 0;
905 fra.me.REG_size = 1;
906 fra.me.REG[0] = NIT_NULL;
907 fra.me.REG[0] = p0;
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;
911 return REGB0;
912 }