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