Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!mit-eddie!genrad!decvax!decwrl!labrea!navajo!rokicki From: rokicki@navajo.STANFORD.EDU (Tomas Rokicki) Newsgroups: comp.sys.amiga Subject: Profiler for Manx Message-ID: <1218@navajo.STANFORD.EDU> Date: Mon, 15-Dec-86 13:11:04 EST Article-I.D.: navajo.1218 Posted: Mon Dec 15 13:11:04 1986 Date-Received: Tue, 16-Dec-86 21:53:10 EST Organization: Stanford University Lines: 34 [ `--\- flyin' high ] I'm about ready to start on an execution profiler for the Manx compiler and linker. Basically, it will patch an executable to generate traps, which will be intercepted by a second process which gathers statistics. I think I've figured out how to do everything I need to. The questions: -- Has anyone else attempted this, what problems did you run into? -- I'm not planning (initially) to make it compatible with Lattice or BLINK; I don't have Lattice so I don't know how the code is organized, and I plan to use a verbose link description output file from Manx `ln' for routine names and locations and the like. Perhaps someone else wants to help me with these? -- I need a fast, free-running clock. I plan to use the vertical beam position counter in addition to a vertical-retrace interrupt driven counter to get this clock . . . I'm still not sure how to introduce a vertical-retrace interrupt without mucking with the system, but I'm perfectly willing to muck with it if necessary. -- exit() and longjmp() will cause problems; routines which don't return will have their time lost, unless I rewrite these routines. I see some major assembly language hacking, here! -- Anyone out there have any sample code which installs new traps? I can do it myself, but samples always make it easier . . . See you at BADGE! -tom