1 /* Generated from stub.scm by the CHICKEN compiler
2    http://www.call-cc.org
3    Version 5.3.0rc4 ((HEAD detached at 5.3.0rc4)) (rev b6cbb1ba)
4    linux-unix-gnu-x86-64 [ 64bit dload ptables ]
5    command line: stub.scm -optimize-level 2 -include-path . -include-path ./ -inline -ignore-repository -feature chicken-bootstrap -no-warnings -specialize -consult-types-file ./types.db -explicit-use -no-trace -output-file stub.c
6    unit: default_stub
7    uses: extras port data-structures eval library
8 */
9 #include "chicken.h"
10 
11 static C_PTABLE_ENTRY *create_ptable(void);
12 C_noret_decl(C_extras_toplevel)
13 C_externimport void C_ccall C_extras_toplevel(C_word c,C_word *av) C_noret;
14 C_noret_decl(C_port_toplevel)
15 C_externimport void C_ccall C_port_toplevel(C_word c,C_word *av) C_noret;
16 C_noret_decl(C_data_2dstructures_toplevel)
17 C_externimport void C_ccall C_data_2dstructures_toplevel(C_word c,C_word *av) C_noret;
18 C_noret_decl(C_eval_toplevel)
19 C_externimport void C_ccall C_eval_toplevel(C_word c,C_word *av) C_noret;
20 C_noret_decl(C_library_toplevel)
21 C_externimport void C_ccall C_library_toplevel(C_word c,C_word *av) C_noret;
22 
23 static C_TLS C_word lf[2];
24 static double C_possibly_force_alignment;
25 static C_char C_TLS li0[] C_aligned={C_lihdr(0,0,6),40,108,111,111,112,41,0,0};
26 static C_char C_TLS li1[] C_aligned={C_lihdr(0,0,10),40,116,111,112,108,101,118,101,108,41,0,0,0,0,0,0};
27 
28 
29 C_noret_decl(f_134)
30 static void C_ccall f_134(C_word c,C_word *av) C_noret;
31 C_noret_decl(f_137)
32 static void C_ccall f_137(C_word c,C_word *av) C_noret;
33 C_noret_decl(f_140)
34 static void C_ccall f_140(C_word c,C_word *av) C_noret;
35 C_noret_decl(f_143)
36 static void C_ccall f_143(C_word c,C_word *av) C_noret;
37 C_noret_decl(f_146)
38 static void C_ccall f_146(C_word c,C_word *av) C_noret;
39 C_noret_decl(f_149)
40 static void C_ccall f_149(C_word c,C_word *av) C_noret;
41 C_noret_decl(f_151)
42 static void C_fcall f_151(C_word t0,C_word t1) C_noret;
43 C_noret_decl(f_155)
44 static void C_ccall f_155(C_word c,C_word *av) C_noret;
45 C_noret_decl(C_default_5fstub_toplevel)
46 C_externexport void C_ccall C_default_5fstub_toplevel(C_word c,C_word *av) C_noret;
47 
48 C_noret_decl(trf_151)
49 static void C_ccall trf_151(C_word c,C_word *av) C_noret;
trf_151(C_word c,C_word * av)50 static void C_ccall trf_151(C_word c,C_word *av){
51 C_word t0=av[1];
52 C_word t1=av[0];
53 f_151(t0,t1);}
54 
55 /* k132 */
f_134(C_word c,C_word * av)56 static void C_ccall f_134(C_word c,C_word *av){
57 C_word tmp;
58 C_word t0=av[0];
59 C_word t1=av[1];
60 C_word t2;
61 C_word t3;
62 C_word *a;
63 C_check_for_interrupt;
64 if(C_unlikely(!C_demand(C_calculate_demand(3,c,2)))){
65 C_save_and_reclaim((void *)f_134,c,av);}
66 a=C_alloc(3);
67 t2=(*a=C_CLOSURE_TYPE|2,a[1]=(C_word)f_137,a[2]=((C_word*)t0)[2],tmp=(C_word)a,a+=3,tmp);{
68 C_word *av2=av;
69 av2[0]=C_SCHEME_UNDEFINED;
70 av2[1]=t2;
71 C_eval_toplevel(2,av2);}}
72 
73 /* k135 in k132 */
f_137(C_word c,C_word * av)74 static void C_ccall f_137(C_word c,C_word *av){
75 C_word tmp;
76 C_word t0=av[0];
77 C_word t1=av[1];
78 C_word t2;
79 C_word t3;
80 C_word *a;
81 C_check_for_interrupt;
82 if(C_unlikely(!C_demand(C_calculate_demand(3,c,2)))){
83 C_save_and_reclaim((void *)f_137,c,av);}
84 a=C_alloc(3);
85 t2=(*a=C_CLOSURE_TYPE|2,a[1]=(C_word)f_140,a[2]=((C_word*)t0)[2],tmp=(C_word)a,a+=3,tmp);{
86 C_word *av2=av;
87 av2[0]=C_SCHEME_UNDEFINED;
88 av2[1]=t2;
89 C_data_2dstructures_toplevel(2,av2);}}
90 
91 /* k138 in k135 in k132 */
f_140(C_word c,C_word * av)92 static void C_ccall f_140(C_word c,C_word *av){
93 C_word tmp;
94 C_word t0=av[0];
95 C_word t1=av[1];
96 C_word t2;
97 C_word t3;
98 C_word *a;
99 C_check_for_interrupt;
100 if(C_unlikely(!C_demand(C_calculate_demand(3,c,2)))){
101 C_save_and_reclaim((void *)f_140,c,av);}
102 a=C_alloc(3);
103 t2=(*a=C_CLOSURE_TYPE|2,a[1]=(C_word)f_143,a[2]=((C_word*)t0)[2],tmp=(C_word)a,a+=3,tmp);{
104 C_word *av2=av;
105 av2[0]=C_SCHEME_UNDEFINED;
106 av2[1]=t2;
107 C_port_toplevel(2,av2);}}
108 
109 /* k141 in k138 in k135 in k132 */
f_143(C_word c,C_word * av)110 static void C_ccall f_143(C_word c,C_word *av){
111 C_word tmp;
112 C_word t0=av[0];
113 C_word t1=av[1];
114 C_word t2;
115 C_word t3;
116 C_word *a;
117 C_check_for_interrupt;
118 if(C_unlikely(!C_demand(C_calculate_demand(3,c,2)))){
119 C_save_and_reclaim((void *)f_143,c,av);}
120 a=C_alloc(3);
121 t2=(*a=C_CLOSURE_TYPE|2,a[1]=(C_word)f_146,a[2]=((C_word*)t0)[2],tmp=(C_word)a,a+=3,tmp);{
122 C_word *av2=av;
123 av2[0]=C_SCHEME_UNDEFINED;
124 av2[1]=t2;
125 C_extras_toplevel(2,av2);}}
126 
127 /* k144 in k141 in k138 in k135 in k132 */
f_146(C_word c,C_word * av)128 static void C_ccall f_146(C_word c,C_word *av){
129 C_word tmp;
130 C_word t0=av[0];
131 C_word t1=av[1];
132 C_word t2;
133 C_word t3;
134 C_word t4;
135 C_word t5;
136 C_word t6;
137 C_word t7;
138 C_word *a;
139 C_check_for_interrupt;
140 if(C_unlikely(!C_demand(C_calculate_demand(17,c,2)))){
141 C_save_and_reclaim((void *)f_146,c,av);}
142 a=C_alloc(17);
143 t2=C_a_i_provide(&a,1,lf[0]);
144 t3=(*a=C_CLOSURE_TYPE|2,a[1]=(C_word)f_149,a[2]=((C_word*)t0)[2],tmp=(C_word)a,a+=3,tmp);
145 t4=C_SCHEME_UNDEFINED;
146 t5=(*a=C_VECTOR_TYPE|1,a[1]=t4,tmp=(C_word)a,a+=2,tmp);
147 t6=C_set_block_item(t5,0,(*a=C_CLOSURE_TYPE|3,a[1]=(C_word)f_151,a[2]=t5,a[3]=((C_word)li0),tmp=(C_word)a,a+=4,tmp));
148 t7=((C_word*)t5)[1];
149 f_151(t7,t3);}
150 
151 /* k147 in k144 in k141 in k138 in k135 in k132 */
f_149(C_word c,C_word * av)152 static void C_ccall f_149(C_word c,C_word *av){
153 C_word tmp;
154 C_word t0=av[0];
155 C_word t1=av[1];
156 C_word t2;
157 C_word *a;
158 C_check_for_interrupt;
159 if(C_unlikely(!C_demand(C_calculate_demand(0,c,1)))){
160 C_save_and_reclaim((void *)f_149,c,av);}
161 t2=((C_word*)t0)[2];{
162 C_word *av2=av;
163 av2[0]=t2;
164 av2[1]=C_SCHEME_UNDEFINED;
165 ((C_proc)(void*)(*((C_word*)t2+1)))(2,av2);}}
166 
167 /* loop in k144 in k141 in k138 in k135 in k132 */
f_151(C_word t0,C_word t1)168 static void C_fcall f_151(C_word t0,C_word t1){
169 C_word tmp;
170 C_word t2;
171 C_word t3;
172 C_word *a;
173 C_check_for_interrupt;
174 if(C_unlikely(!C_demand(C_calculate_demand(4,0,2)))){
175 C_save_and_reclaim_args((void *)trf_151,2,t0,t1);}
176 a=C_alloc(4);
177 t2=(*a=C_CLOSURE_TYPE|3,a[1]=(C_word)f_155,a[2]=((C_word*)t0)[2],a[3]=t1,tmp=(C_word)a,a+=4,tmp);
178 /* stub.scm:35: chicken.platform#return-to-host */
179 t3=*((C_word*)lf[1]+1);{
180 C_word av2[2];
181 av2[0]=t3;
182 av2[1]=t2;
183 ((C_proc)(void*)(*((C_word*)t3+1)))(2,av2);}}
184 
185 /* k153 in loop in k144 in k141 in k138 in k135 in k132 */
f_155(C_word c,C_word * av)186 static void C_ccall f_155(C_word c,C_word *av){
187 C_word tmp;
188 C_word t0=av[0];
189 C_word t1=av[1];
190 C_word t2;
191 C_word *a;
192 C_check_for_interrupt;
193 if(C_unlikely(!C_demand(C_calculate_demand(0,c,1)))){
194 C_save_and_reclaim((void *)f_155,c,av);}
195 /* stub.scm:35: loop */
196 t2=((C_word*)((C_word*)t0)[2])[1];
197 f_151(t2,((C_word*)t0)[3]);}
198 
199 /* toplevel */
200 static C_TLS int toplevel_initialized=0;
201 
C_default_5fstub_toplevel(C_word c,C_word * av)202 void C_ccall C_default_5fstub_toplevel(C_word c,C_word *av){
203 C_word tmp;
204 C_word t0=av[0];
205 C_word t1=av[1];
206 C_word t2;
207 C_word t3;
208 C_word *a;
209 if(toplevel_initialized) {C_kontinue(t1,C_SCHEME_UNDEFINED);}
210 else C_toplevel_entry(C_text("default_stub"));
211 C_check_nursery_minimum(C_calculate_demand(3,c,2));
212 if(C_unlikely(!C_demand(C_calculate_demand(3,c,2)))){
213 C_save_and_reclaim((void*)C_default_5fstub_toplevel,c,av);}
214 toplevel_initialized=1;
215 if(C_unlikely(!C_demand_2(14))){
216 C_save(t1);
217 C_rereclaim2(14*sizeof(C_word),1);
218 t1=C_restore;}
219 a=C_alloc(3);
220 C_initialize_lf(lf,2);
221 lf[0]=C_h_intern(&lf[0],12, C_text("default_stub"));
222 lf[1]=C_h_intern(&lf[1],31, C_text("chicken.platform#return-to-host"));
223 C_register_lf2(lf,2,create_ptable());{}
224 t2=(*a=C_CLOSURE_TYPE|2,a[1]=(C_word)f_134,a[2]=t1,tmp=(C_word)a,a+=3,tmp);{
225 C_word *av2=av;
226 av2[0]=C_SCHEME_UNDEFINED;
227 av2[1]=t2;
228 C_library_toplevel(2,av2);}}
229 
230 #ifdef C_ENABLE_PTABLES
231 static C_PTABLE_ENTRY ptable[10] = {
232 {C_text("f_134:stub_2escm"),(void*)f_134},
233 {C_text("f_137:stub_2escm"),(void*)f_137},
234 {C_text("f_140:stub_2escm"),(void*)f_140},
235 {C_text("f_143:stub_2escm"),(void*)f_143},
236 {C_text("f_146:stub_2escm"),(void*)f_146},
237 {C_text("f_149:stub_2escm"),(void*)f_149},
238 {C_text("f_151:stub_2escm"),(void*)f_151},
239 {C_text("f_155:stub_2escm"),(void*)f_155},
240 {C_text("toplevel:stub_2escm"),(void*)C_default_5fstub_toplevel},
241 {NULL,NULL}};
242 #endif
243 
create_ptable(void)244 static C_PTABLE_ENTRY *create_ptable(void){
245 #ifdef C_ENABLE_PTABLES
246 return ptable;
247 #else
248 return NULL;
249 #endif
250 }
251 
252 /*
253 (o e)|safe calls: 1
254 o|replaced variables: 1
255 o|removed binding forms: 9
256 o|removed binding forms: 1
257 o|customizable procedures: (loop18)
258 o|calls to known targets: 2
259 o|fast box initializations: 1
260 */
261 /* end of file */
262