[hatari-devel] Hatari profiler updates and CPU cycle questions

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


Hi,

I've put the first version of Hatari profiler post-processor to Mercurial.

It can be used like explained here:
http://sourceforge.net/mailarchive/forum.php?thread_name=201301301616.27316.oak%40helsinkinet.fi&forum_name=emutos-
devel

I noticed that CPU cycle counter returns cumulative values so I compensated
for that, and for the cycle value being for a previous instruction [1].

Now I'd like to know, is it possible for an instruction to use 0 cycles,
like CPU cycle counter value difference would indicate for subq here:
------------------------------------------
[...]
$e0247e :  cmp.w     $ff88(a6),d0     0.00% (26, 104, 0)
$e02482 :  bgt       $e02586          0.00% (26, 52, 0)
$e02486 :  add.w     $ff96(a6),d0     0.00% (26, 104, 0)
$e0248a :  subq.w    #1,d0            0.00% (26, 0, 0)
$e0248c :  cmp.w     $ff88(a6),d0     0.00% (26, 104, 26)
$e02490 :  ble.s     $e0249a          0.00% (26, 52, 26)
[...]
------------------------------------------
?

Also, what is the largest cycle count that a single m68k instruction
can have?

(I would like to have warnings about impossible cycles values.)


	- Eero

[1] I was really mystified how single instruction could take
	most of cycles when it was seemingly called only from single place,
	but it turned out to be interrupt handler first instruction and
	the cycles actually belonged to STOP instruction... :-)

PS. I have also some ideas how I (eventually) could get enough information
out to be able to get Kcachegrind to produce callgraphs for the post-
processor output.  If current PC address has symbol assigned to it,
increase caller (=previous PC value) count in list associated with
symbol addresses.



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