comparison runtime/rhopefuncs_epilog.c @ 162:bac2c74801f0

Move some C code out of cbackend_c.rhope into separate include files
author Mike Pavone <pavone@retrodev.com>
date Sun, 09 Jan 2011 22:51:10 -0500
parents
children ba35ab624ec2
comparison
equal deleted inserted replaced
161:f5095855c878 162:bac2c74801f0
1
2 DO_END:
3 for(idx = 0; idx < cdata->num_params; ++idx)
4 params[idx] = cdata->params[idx];
5 free_context(ct);
6 return cdata->num_params;
7
8 DO_END_THREAD:
9 for(idx = 0; idx < cdata->num_params; ++idx)
10 { release_ref(cdata->params[idx]); }
11 if(ct->runafter)
12 {
13 temp_ct = ct;
14 ct = ct->runafter;
15 free_context(temp_ct);
16 cdata = ct->resume_cdata;
17 func = cdata->func;
18 DISPATCH
19 }
20 free_context(ct);
21 if(ct = get_cqueue())
22 {
23 cdata = ct->resume_cdata;
24 func = cdata->func;
25 DISPATCH
26 }
27 NOTHING_TO_DO:
28 return 0;
29
30 _exception:
31 puts("Exception! Trace follows:");
32 while(cdata && cdata->func < END)
33 {
34 printf("%d\n", cdata->func);
35 cdata = cdata->lastframe;
36 }
37 return -1;
38 }
39