Mercurial > repos > rhope
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 |