|Re: [hatari-devel] Opinions on Hatari profiler "user interface"?|
[ Thread Index |
| More lists.tuxfamily.org/hatari-devel Archives
On keskiviikko 03 huhtikuu 2013, Laurent Sallafranque wrote:
> Another point that was already discusses a few weeks ago, it would be
> really nice and easier to be able to get the symbols directly into
> hatari without parsing a file with an external tool before.
Generation of the symbol file during your program build, and loading
it in Hatari can both be automated.
> Do you think this would be possible ?
It's possible. I'm not promising anything yet, but I might have time to
look into that now that profiler & its post-processor are mostly done
(documentation, some kcachegrind format issues and potential bug
fixes still remain).
I just wonder which of the Atari symbol formats (DRI, GST, a.out...)
I should support. Which compiler & symbol format you use?
Note that profile post-processor will still require symbol files, because
typically symbol information in the profile data itself isn't enough
(in cases when function code isn't entered through its entry point),
and post-processor doesn't know anything about program binaries. I
guess that's less of an issue though. :-)
> I've read all your thread. The results are really impressive, but it
> seems quite complicate at first glance.
I'm not really happy about the resulting complexity either.
I had hoped that I could use just the information from subroutine call
and return tracking, which would have made the graph information easy
to read, but unfortunately that's not really enough. :-/
E.g. GCC seems to be using JMPs and BRAs for function calls at least
when the called function args don't differ from function's own args
(even when using just -Os), and hand coded asm code does similar things.
Then there are the stack manipulation tricks, so it's safer to keep
the (default) function cost resolving method...
> I'll have to dig more into all the functions before telling you what
> I like the most, ...
Ok, I'm really interested about any comments!