Re: [hatari-devel] Code execution discontinuities and detecting them?

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]



Browsing my m68000 pocket guide, I've come up with following categories
and how to detect them:

1. Direct jumps and branches:
    - Previous PC address contains JMP, BRA, BCC or DBCC instruction.

Hi,

I think it should be possible to filter out interrupt enter/exit events appearing like normal program flow changes / calls in a reliable way - if some of the CPU context is made available in the profiling data (either the status register or some housekeeping info belonging to UAE). 

You can try to identify via the last instruction, but you could perhaps get unlucky and have an interrupt occur in the wrong place, causing a bogus link in your callgraph. This seems like a very rare occurrence but when you're dealing with capture over many seconds, even rare things happen frequently enough to contribute confusion (some of this can even be seen in the last DOT example)

I think filtering by the last opcode could help a lot but the best way is to know about the status changes in the CPU context - this info is unambiguous. I suppose the question is what/how much of that to record and whether it complicates another part of Hatari?

D.



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/