home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / usr.bin / lisp / lispnews / text0347.txt < prev    next >
Encoding:
Text File  |  1985-11-10  |  2.7 KB  |  87 lines

  1. Does anyone know how to set up profiling in Franz Lisp ?
  2. We have Franz Lisp of University of Maryland : Opus 38.91, UoM Variation 3.5.
  3.  
  4. I have already made the following modifications :
  5.  
  6. 1) as stated in the makefile : ../franz/vax/Makefile I have removed the #
  7.    in :
  8. ------------------------------------------------------------------------------
  9. ProfFlag = # -XP
  10. ProfFlag2 = # -DPROF
  11. ------------------------------------------------------------------------------
  12.  
  13. giving :
  14.  
  15. ------------------------------------------------------------------------------
  16. ProfFlag =  -XP
  17. ProfFlag2 =  -DPROF
  18. ------------------------------------------------------------------------------
  19.  
  20. 2) I've changed in ../franz/vax/Makefile the line :
  21.  
  22. ------------------------------------------------------------------------------
  23.     /lib/cpp $< -I../h |\
  24. ------------------------------------------------------------------------------
  25.  
  26. to :
  27.  
  28. ------------------------------------------------------------------------------
  29.     /lib/cpp ${ProfFlag2} $< -I../h |\
  30. ------------------------------------------------------------------------------
  31.  
  32. 3) I've changed in ../franz/vax/Makefile/qfuncl.c the lines :
  33.  
  34. ------------------------------------------------------------------------------
  35. #ifdef PROF
  36.     .set    indx,0
  37. #define Profile \
  38.     movab    prbuf+indx,r0  \
  39.     .set     indx,indx+4 \
  40.     jsb     mcount
  41. #define Profile2 \
  42.     movl   r0,r5 \
  43.     Profile    \
  44.     movl   r5,r0 
  45. #else
  46. #define Profile
  47. #define Profile2
  48. #endif
  49. ------------------------------------------------------------------------------
  50.  
  51. to :
  52.  
  53. ------------------------------------------------------------------------------
  54. #ifdef PROF
  55.     .set    indx,0
  56. #define Profile \
  57.     movab    prbuf+indx,r0 ; \
  58.     .set     indx,indx+4 ; \
  59.     jsb     mcount
  60. #define Profile2 \
  61.     movl   r0,r5 ; \
  62.     Profile    ; \
  63.     movl   r5,r0 
  64. #else
  65. #define Profile
  66. #define Profile2
  67. #endif
  68. ------------------------------------------------------------------------------
  69.  
  70. After all these modifications, we have the following error message when
  71. making it slow :
  72.  
  73. ------------------------------------------------------------------------------
  74. ld -x -o rawlisp -e start ../low.o ../lowaux.o crt0.o ../alloc.o ../data.o  bigmath.o qfuncl.o vax.o ../lisp.o ../eval.o ../eval2.o ../inits.o ../io.o ../error.o  ../sysat.o ../lam1.o ../lam2.o ../lam3.o ../lam4.o ../lam5.o ../lam6.o  ../lam7.o ../lam8.o 
  75.  
  76.  
  77. ../lam9.o ../lamr.o ../lamp.o  ../fex1.o ../fex2.o ../fex3.o ../fex4.o ../fexr.o ../fpipe.o  ../subbig.o ../pbignum.o ../divbig.o  ../ffasl.o ../fasl.o  ../trace.o ../evalf.o ../frame.o ../lamgc.o  ../lamuom.o ../hash.o  -lm -lc -ltermlib
  78. mcount: ld:/lib/libc.a(mon.o): multiply defined
  79. *** Error code 2
  80.  
  81. Stop.
  82. *** Error code 1
  83.  
  84. Stop.
  85. ------------------------------------------------------------------------------
  86.  
  87.