home *** CD-ROM | disk | FTP | other *** search
- Does anyone know how to set up profiling in Franz Lisp ?
- We have Franz Lisp of University of Maryland : Opus 38.91, UoM Variation 3.5.
-
- I have already made the following modifications :
-
- 1) as stated in the makefile : ../franz/vax/Makefile I have removed the #
- in :
- ------------------------------------------------------------------------------
- ProfFlag = # -XP
- ProfFlag2 = # -DPROF
- ------------------------------------------------------------------------------
-
- giving :
-
- ------------------------------------------------------------------------------
- ProfFlag = -XP
- ProfFlag2 = -DPROF
- ------------------------------------------------------------------------------
-
- 2) I've changed in ../franz/vax/Makefile the line :
-
- ------------------------------------------------------------------------------
- /lib/cpp $< -I../h |\
- ------------------------------------------------------------------------------
-
- to :
-
- ------------------------------------------------------------------------------
- /lib/cpp ${ProfFlag2} $< -I../h |\
- ------------------------------------------------------------------------------
-
- 3) I've changed in ../franz/vax/Makefile/qfuncl.c the lines :
-
- ------------------------------------------------------------------------------
- #ifdef PROF
- .set indx,0
- #define Profile \
- movab prbuf+indx,r0 \
- .set indx,indx+4 \
- jsb mcount
- #define Profile2 \
- movl r0,r5 \
- Profile \
- movl r5,r0
- #else
- #define Profile
- #define Profile2
- #endif
- ------------------------------------------------------------------------------
-
- to :
-
- ------------------------------------------------------------------------------
- #ifdef PROF
- .set indx,0
- #define Profile \
- movab prbuf+indx,r0 ; \
- .set indx,indx+4 ; \
- jsb mcount
- #define Profile2 \
- movl r0,r5 ; \
- Profile ; \
- movl r5,r0
- #else
- #define Profile
- #define Profile2
- #endif
- ------------------------------------------------------------------------------
-
- After all these modifications, we have the following error message when
- making it slow :
-
- ------------------------------------------------------------------------------
- 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
-
-
- ../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
- mcount: ld:/lib/libc.a(mon.o): multiply defined
- *** Error code 2
-
- Stop.
- *** Error code 1
-
- Stop.
- ------------------------------------------------------------------------------
-
-