⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 profiler.c

📁 Scheme跨平台编译器
💻 C
📖 第 1 页 / 共 2 页
字号:
/* Generated from profiler.scm by the CHICKEN compiler   http://www.call-with-current-continuation.org   2008-09-23 22:55   Version 3.3.0 - linux-unix-gnu-x86	[ manyargs dload ptables applyhook ]   SVN rev. 11106	compiled 2008-07-08 on galinha (Linux)   command line: profiler.scm -quiet -no-trace -optimize-level 2 -include-path . -include-path ./ -explicit-use -output-file profiler.c   unit: profiler*/#include "chicken.h"#if !defined(_MSC_VER) && !defined(__DJGPP__) && !defined(__MWERKS__)# include <unistd.h>#endifstatic C_PTABLE_ENTRY *create_ptable(void);static C_TLS C_word lf[21];static double C_possibly_force_alignment;static C_char C_TLS li0[] C_aligned={C_lihdr(0,0,6),40,97,49,48,49,41,0,0};static C_char C_TLS li1[] C_aligned={C_lihdr(0,0,14),40,97,49,49,48,32,46,32,97,114,103,115,53,41,0,0};static C_char C_TLS li2[] C_aligned={C_lihdr(0,0,45),40,35,35,115,121,115,35,114,101,103,105,115,116,101,114,45,112,114,111,102,105,108,101,45,105,110,102,111,32,115,105,122,101,49,32,102,105,108,101,110,97,109,101,50,41,0,0,0};static C_char C_TLS li3[] C_aligned={C_lihdr(0,0,46),40,35,35,115,121,115,35,115,101,116,45,112,114,111,102,105,108,101,45,105,110,102,111,45,118,101,99,116,111,114,33,32,118,101,99,49,51,32,105,49,52,32,120,49,53,41,0,0};static C_char C_TLS li4[] C_aligned={C_lihdr(0,0,35),40,35,35,115,121,115,35,112,114,111,102,105,108,101,45,101,110,116,114,121,32,105,110,100,101,120,49,55,32,118,101,99,49,56,41,0,0,0,0,0};static C_char C_TLS li5[] C_aligned={C_lihdr(0,0,34),40,35,35,115,121,115,35,112,114,111,102,105,108,101,45,101,120,105,116,32,105,110,100,101,120,50,55,32,118,101,99,50,56,41,0,0,0,0,0,0};static C_char C_TLS li6[] C_aligned={C_lihdr(0,0,10),40,100,111,52,49,32,105,52,51,41,0,0,0,0,0,0};static C_char C_TLS li7[] C_aligned={C_lihdr(0,0,12),40,97,50,54,56,32,118,101,99,51,57,41,0,0,0,0};static C_char C_TLS li8[] C_aligned={C_lihdr(0,0,6),40,97,50,54,50,41,0,0};static C_char C_TLS li9[] C_aligned={C_lihdr(0,0,22),40,35,35,115,121,115,35,102,105,110,105,115,104,45,112,114,111,102,105,108,101,41,0,0};static C_char C_TLS li10[] C_aligned={C_lihdr(0,0,10),40,116,111,112,108,101,118,101,108,41,0,0,0,0,0,0};C_noret_decl(C_profiler_toplevel)C_externexport void C_ccall C_profiler_toplevel(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_254)static void C_ccall f_254(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_258)static void C_ccall f_258(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_263)static void C_ccall f_263(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_269)static void C_ccall f_269(C_word c,C_word t0,C_word t1,C_word t2) C_noret;C_noret_decl(f_278)static void C_fcall f_278(C_word t0,C_word t1,C_word t2) C_noret;C_noret_decl(f_288)static void C_ccall f_288(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_291)static void C_ccall f_291(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_294)static void C_ccall f_294(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_297)static void C_ccall f_297(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_300)static void C_ccall f_300(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_303)static void C_ccall f_303(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_306)static void C_ccall f_306(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_309)static void C_ccall f_309(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_197)static void C_ccall f_197(C_word c,C_word t0,C_word t1,C_word t2,C_word t3) C_noret;C_noret_decl(f_137)static void C_ccall f_137(C_word c,C_word t0,C_word t1,C_word t2,C_word t3) C_noret;C_noret_decl(f_183)static void C_fcall f_183(C_word t0,C_word t1) C_noret;C_noret_decl(f_162)static void C_fcall f_162(C_word t0,C_word t1) C_noret;C_noret_decl(f_124)static void C_ccall f_124(C_word c,C_word t0,C_word t1,C_word t2,C_word t3,C_word t4) C_noret;C_noret_decl(f_69)static void C_ccall f_69(C_word c,C_word t0,C_word t1,C_word t2,C_word t3) C_noret;C_noret_decl(f_122)static void C_ccall f_122(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_88)static void C_ccall f_88(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_91)static void C_ccall f_91(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_94)static void C_ccall f_94(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_111)static void C_ccall f_111(C_word c,C_word t0,C_word t1,...) C_noret;C_noret_decl(f_111)static void C_ccall f_111r(C_word t0,C_word t1,C_word t3) C_noret;C_noret_decl(f_115)static void C_ccall f_115(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_97)static void C_ccall f_97(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_102)static void C_ccall f_102(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_106)static void C_ccall f_106(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_73)static void C_ccall f_73(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(f_76)static void C_ccall f_76(C_word c,C_word t0,C_word t1) C_noret;C_noret_decl(trf_278)static void C_fcall trf_278(void *dummy) C_regparm C_noret;C_regparm static void C_fcall trf_278(void *dummy){C_word t2=C_pick(0);C_word t1=C_pick(1);C_word t0=C_pick(2);C_adjust_stack(-3);f_278(t0,t1,t2);}C_noret_decl(trf_183)static void C_fcall trf_183(void *dummy) C_regparm C_noret;C_regparm static void C_fcall trf_183(void *dummy){C_word t1=C_pick(0);C_word t0=C_pick(1);C_adjust_stack(-2);f_183(t0,t1);}C_noret_decl(trf_162)static void C_fcall trf_162(void *dummy) C_regparm C_noret;C_regparm static void C_fcall trf_162(void *dummy){C_word t1=C_pick(0);C_word t0=C_pick(1);C_adjust_stack(-2);f_162(t0,t1);}C_noret_decl(tr5)static void C_fcall tr5(C_proc5 k) C_regparm C_noret;C_regparm static void C_fcall tr5(C_proc5 k){C_word t4=C_pick(0);C_word t3=C_pick(1);C_word t2=C_pick(2);C_word t1=C_pick(3);C_word t0=C_pick(4);C_adjust_stack(-5);(k)(5,t0,t1,t2,t3,t4);}C_noret_decl(tr4)static void C_fcall tr4(C_proc4 k) C_regparm C_noret;C_regparm static void C_fcall tr4(C_proc4 k){C_word t3=C_pick(0);C_word t2=C_pick(1);C_word t1=C_pick(2);C_word t0=C_pick(3);C_adjust_stack(-4);(k)(4,t0,t1,t2,t3);}C_noret_decl(tr3)static void C_fcall tr3(C_proc3 k) C_regparm C_noret;C_regparm static void C_fcall tr3(C_proc3 k){C_word t2=C_pick(0);C_word t1=C_pick(1);C_word t0=C_pick(2);C_adjust_stack(-3);(k)(3,t0,t1,t2);}C_noret_decl(tr2)static void C_fcall tr2(C_proc2 k) C_regparm C_noret;C_regparm static void C_fcall tr2(C_proc2 k){C_word t1=C_pick(0);C_word t0=C_pick(1);C_adjust_stack(-2);(k)(2,t0,t1);}C_noret_decl(tr2r)static void C_fcall tr2r(C_proc2 k) C_regparm C_noret;C_regparm static void C_fcall tr2r(C_proc2 k){int n;C_word *a,t2;C_word t1=C_pick(0);C_word t0=C_pick(1);C_adjust_stack(-2);n=C_rest_count(0);a=C_alloc(n*3);t2=C_restore_rest(a,n);(k)(t0,t1,t2);}/* toplevel */static C_TLS int toplevel_initialized=0;C_noret_decl(toplevel_trampoline)static void C_fcall toplevel_trampoline(void *dummy) C_regparm C_noret;C_regparm static void C_fcall toplevel_trampoline(void *dummy){C_profiler_toplevel(2,C_SCHEME_UNDEFINED,C_restore);}void C_ccall C_profiler_toplevel(C_word c,C_word t0,C_word t1){C_word tmp;C_word t2;C_word t3;C_word t4;C_word t5;C_word t6;C_word t7;C_word t8;C_word t9;C_word t10;C_word t11;C_word t12;C_word t13;C_word t14;C_word t15;C_word *a;if(toplevel_initialized) C_kontinue(t1,C_SCHEME_UNDEFINED);else C_toplevel_entry(C_text("profiler_toplevel"));C_check_nursery_minimum(20);if(!C_demand(20)){C_save(t1);C_reclaim((void*)toplevel_trampoline,NULL);}toplevel_initialized=1;if(!C_demand_2(173)){C_save(t1);C_rereclaim2(173*sizeof(C_word), 1);t1=C_restore;}a=C_alloc(20);C_initialize_lf(lf,21);lf[2]=C_h_intern(&lf[2],23,"\003sysprofile-append-mode");lf[3]=C_h_intern(&lf[3],11,"make-vector");lf[4]=C_h_intern(&lf[4],25,"\003sysregister-profile-info");lf[5]=C_h_intern(&lf[5],18,"\003sysfinish-profile");lf[6]=C_h_intern(&lf[6],25,"\003sysimplicit-exit-handler");lf[7]=C_h_intern(&lf[7],16,"\003sysexit-handler");lf[8]=C_h_intern(&lf[8],13,"string-append");lf[9]=C_decode_literal(C_heaptop,"\376B\000\000\001.");lf[10]=C_h_intern(&lf[10],28,"\003sysset-profile-info-vector!");lf[11]=C_h_intern(&lf[11],17,"\003sysprofile-entry");lf[12]=C_h_intern(&lf[12],16,"\003sysprofile-exit");lf[13]=C_h_intern(&lf[13],19,"with-output-to-file");lf[14]=C_h_intern(&lf[14],10,"write-char");lf[15]=C_h_intern(&lf[15],5,"write");lf[16]=C_h_intern(&lf[16],12,"\003sysfor-each");lf[17]=C_decode_literal(C_heaptop,"\376\003\000\000\002\376\001\000\000\007\000append\376\377\016");lf[18]=C_h_intern(&lf[18],9,"\003sysprint");lf[19]=C_decode_literal(C_heaptop,"\376B\000\000\033[debug] writing profile...\012");lf[20]=C_h_intern(&lf[20],19,"\003sysstandard-output");C_register_lf2(lf,21,create_ptable());t2=lf[0]=C_SCHEME_END_OF_LIST;;t3=lf[1]=C_SCHEME_FALSE;;t4=C_set_block_item(lf[2],0,C_SCHEME_FALSE);t5=*((C_word*)lf[3]+1);t6=C_mutate((C_word*)lf[4]+1,(*a=C_CLOSURE_TYPE|3,a[1]=(C_word)f_69,a[2]=t5,a[3]=((C_word)li2),tmp=(C_word)a,a+=4,tmp));t7=C_mutate((C_word*)lf[10]+1,(*a=C_CLOSURE_TYPE|2,a[1]=(C_word)f_124,a[2]=((C_word)li3),tmp=(C_word)a,a+=3,tmp));t8=(C_word)C_fudge(C_fix(21));t9=C_mutate((C_word*)lf[11]+1,(*a=C_CLOSURE_TYPE|3,a[1]=(C_word)f_137,a[2]=t8,a[3]=((C_word)li4),tmp=(C_word)a,a+=4,tmp));t10=C_mutate((C_word*)lf[12]+1,(*a=C_CLOSURE_TYPE|2,a[1]=(C_word)f_197,a[2]=((C_word)li5),tmp=(C_word)a,a+=3,tmp));t11=*((C_word*)lf[13]+1);t12=*((C_word*)lf[14]+1);t13=*((C_word*)lf[15]+1);t14=C_mutate((C_word*)lf[5]+1,(*a=C_CLOSURE_TYPE|5,a[1]=(C_word)f_254,a[2]=t11,a[3]=t13,a[4]=t12,a[5]=((C_word)li9),tmp=(C_word)a,a+=6,tmp));t15=t1;((C_proc2)(void*)(*((C_word*)t15+1)))(2,t15,C_SCHEME_UNDEFINED);}/* ##sys#finish-profile */static void C_ccall f_254(C_word c,C_word t0,C_word t1){C_word tmp;C_word t2;C_word t3;C_word ab[6],*a=ab;if(c!=2) C_bad_argc_2(c,2,t0);if(!C_stack_probe(&a)){C_save_and_reclaim((void*)tr2,(void*)f_254,2,t0,t1);}t2=(*a=C_CLOSURE_TYPE|5,a[1]=(C_word)f_258,a[2]=((C_word*)t0)[2],a[3]=t1,a[4]=((C_word*)t0)[3],a[5]=((C_word*)t0)[4],tmp=(C_word)a,a+=6,tmp);if(C_truep((C_word)C_fudge(C_fix(13)))){/* profiler.scm: 129  ##sys#print */t3=*((C_word*)lf[18]+1);((C_proc5)(void*)(*((C_word*)t3+1)))(5,t3,t2,lf[19],C_SCHEME_FALSE,*((C_word*)lf[20]+1));}else{t3=t2;f_258(2,t3,C_SCHEME_UNDEFINED);}}/* k256 in ##sys#finish-profile */static void C_ccall f_258(C_word c,C_word t0,C_word t1){C_word tmp;C_word t2;C_word t3;C_word t4;C_word ab[5],*a=ab;if(!C_stack_probe(&a)){C_save_and_reclaim((void*)tr2,(void*)f_258,2,t0,t1);}t2=(*a=C_CLOSURE_TYPE|4,a[1]=(C_word)f_263,a[2]=((C_word*)t0)[4],a[3]=((C_word*)t0)[5],a[4]=((C_word)li8),tmp=(C_word)a,a+=5,tmp);t3=(C_truep(*((C_word*)lf[2]+1))?lf[17]:C_SCHEME_END_OF_LIST);C_apply(6,0,((C_word*)t0)[3],((C_word*)t0)[2],lf[1],t2,t3);}/* a262 in k256 in ##sys#finish-profile */static void C_ccall f_263(C_word c,C_word t0,C_word t1){C_word tmp;C_word t2;C_word t3;C_word ab[5],*a=ab;if(c!=2) C_bad_argc_2(c,2,t0);if(!C_stack_probe(&a)){C_save_and_reclaim((void*)tr2,(void*)f_263,2,t0,t1);}t2=(*a=C_CLOSURE_TYPE|4,a[1]=(C_word)f_269,a[2]=((C_word*)t0)[2],a[3]=((C_word*)t0)[3],a[4]=((C_word)li7),tmp=(C_word)a,a+=5,tmp);/* for-each */t3=*((C_word*)lf[16]+1);((C_proc4)(void*)(*((C_word*)t3+1)))(4,t3,t1,t2,lf[0]);}/* a268 in a262 in k256 in ##sys#finish-profile */static void C_ccall f_269(C_word c,C_word t0,C_word t1,C_word t2){C_word tmp;C_word t3;C_word t4;C_word t5;C_word t6;C_word t7;C_word ab[10],*a=ab;if(c!=3) C_bad_argc_2(c,3,t0);if(!C_stack_probe(&a)){C_save_and_reclaim((void*)tr3,(void*)f_269,3,t0,t1,t2);}t3=(C_word)C_block_size(t2);t4=C_SCHEME_UNDEFINED;t5=(*a=C_VECTOR_TYPE|1,a[1]=t4,tmp=(C_word)a,a+=2,tmp);t6=C_set_block_item(t5,0,(*a=C_CLOSURE_TYPE|7,a[1]=(C_word)f_278,a[2]=((C_word*)t0)[2],a[3]=t2,a[4]=((C_word*)t0)[3],a[5]=t5,a[6]=t3,a[7]=((C_word)li6),tmp=(C_word)a,a+=8,tmp));t7=((C_word*)t5)[1];f_278(t7,t1,C_fix(0));}/* do41 in a268 in a262 in k256 in ##sys#finish-profile */static void C_fcall f_278(C_word t0,C_word t1,C_word t2){C_word tmp;C_word t3;C_word t4;C_word t5;C_word ab[8],*a=ab;if(!C_stack_probe(&a)){C_save_and_reclaim((void*)trf_278,NULL,3,t0,t1,t2);}t3=t2;if(C_truep((C_word)C_fixnum_greater_or_equal_p(t3,((C_word*)t0)[6]))){t4=t1;((C_proc2)(void*)(*((C_word*)t4+1)))(2,t4,C_SCHEME_UNDEFINED);}else{t4=(*a=C_CLOSURE_TYPE|7,a[1]=(C_word)f_288,a[2]=((C_word*)t0)[2],a[3]=((C_word*)t0)[3],a[4]=((C_word*)t0)[4],a[5]=t1,a[6]=((C_word*)t0)[5],a[7]=t2,tmp=(C_word)a,a+=8,tmp);/* profiler.scm: 138  write-char */t5=((C_word*)t0)[4];((C_proc3)C_retrieve_proc(t5))(3,t5,t4,C_make_character(40));}}/* k286 in do41 in a268 in a262 in k256 in ##sys#finish-profile */static void C_ccall f_288(C_word c,C_word t0,C_word t1){C_word tmp;C_word t2;C_word t3;C_word t4;C_word ab[8],*a=ab;if(!C_stack_probe(&a)){C_save_and_reclaim((void*)tr2,(void*)f_288,2,t0,t1);}t2=(*a=C_CLOSURE_TYPE|7,a[1]=(C_word)f_291,a[2]=((C_word*)t0)[2],a[3]=((C_word*)t0)[3],a[4]=((C_word*)t0)[4],a[5]=((C_word*)t0)[5],a[6]=((C_word*)t0)[6],a[7]=((C_word*)t0)[7],tmp=(C_word)a,a+=8,tmp);t3=(C_word)C_slot(((C_word*)t0)[3],((C_word*)t0)[7]);/* profiler.scm: 139  write */t4=((C_word*)t0)[2];((C_proc3)C_retrieve_proc(t4))(3,t4,t2,t3);}/* k289 in k286 in do41 in a268 in a262 in k256 in ##sys#finish-profile */static void C_ccall f_291(C_word c,C_word t0,C_word t1){C_word tmp;C_word t2;C_word t3;C_word ab[8],*a=ab;if(!C_stack_probe(&a)){C_save_and_reclaim((void*)tr2,(void*)f_291,2,t0,t1);}t2=(*a=C_CLOSURE_TYPE|7,a[1]=(C_word)f_294,a[2]=((C_word*)t0)[2],a[3]=((C_word*)t0)[3],a[4]=((C_word*)t0)[4],a[5]=((C_word*)t0)[5],a[6]=((C_word*)t0)[6],a[7]=((C_word*)t0)[7],tmp=(C_word)a,a+=8,tmp);/* profiler.scm: 140  write-char */t3=((C_word*)t0)[4];((C_proc3)C_retrieve_proc(t3))(3,t3,t2,C_make_character(32));}/* k292 in k289 in k286 in do41 in a268 in a262 in k256 in ##sys#finish-profile */static void C_ccall f_294(C_word c,C_word t0,C_word t1){C_word tmp;C_word t2;C_word t3;C_word t4;C_word t5;C_word ab[8],*a=ab;if(!C_stack_probe(&a)){C_save_and_reclaim((void*)tr2,(void*)f_294,2,t0,t1);}t2=(*a=C_CLOSURE_TYPE|7,a[1]=(C_word)f_297,a[2]=((C_word*)t0)[2],a[3]=((C_word*)t0)[3],a[4]=((C_word*)t0)[4],a[5]=((C_word*)t0)[5],a[6]=((C_word*)t0)[6],a[7]=((C_word*)t0)[7],tmp=(C_word)a,a+=8,tmp);t3=(C_word)C_fixnum_increase(((C_word*)t0)[7]);t4=(C_word)C_slot(((C_word*)t0)[3],t3);/* profiler.scm: 141  write */t5=((C_word*)t0)[2];((C_proc3)C_retrieve_proc(t5))(3,t5,t2,t4);}/* k295 in k292 in k289 in k286 in do41 in a268 in a262 in k256 in ##sys#finish-profile */static void C_ccall f_297(C_word c,C_word t0,C_word t1){C_word tmp;C_word t2;C_word t3;C_word ab[8],*a=ab;if(!C_stack_probe(&a)){C_save_and_reclaim((void*)tr2,(void*)f_297,2,t0,t1);}t2=(*a=C_CLOSURE_TYPE|7,a[1]=(C_word)f_300,a[2]=((C_word*)t0)[2],a[3]=((C_word*)t0)[3],a[4]=((C_word*)t0)[4],a[5]=((C_word*)t0)[5],a[6]=((C_word*)t0)[6],a[7]=((C_word*)t0)[7],tmp=(C_word)a,a+=8,tmp);/* profiler.scm: 142  write-char */t3=((C_word*)t0)[4];((C_proc3)C_retrieve_proc(t3))(3,t3,t2,C_make_character(32));}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -