Make this a two-pass algorithm, one pass to add the trace, and one to do

2007-10-22  Soren Sandmann <sandmann@daimi.au.dk>

	* profile.c (add_trace_to_tree): Make this a two-pass
	algorithm, one pass to add the trace, and one to do the
	accounting.


svn path=/trunk/; revision=384
This commit is contained in:
Soren Sandmann
2007-10-22 14:11:01 +00:00
committed by Søren Sandmann Pedersen
parent 002f00a950
commit 97076b7d0f
4 changed files with 30 additions and 74 deletions

26
TODO
View File

@ -156,18 +156,9 @@ Before 1.2:
- etc.
done: HEAD will not load files with the wrong inode now.
* In profile.c, change "non_recursive" to "cumulative", and
"marked_non_recursive" to a boolean "charged". This is tricky code,
so be careful. Possibly make it a two-pass operation:
- first add the new trace
- then walk from the leaf, charging nodes
That would allow us to get rid of the marked field altogether. In fact,
maybe the descendants tree could become a stackstash. We'll just have
to make stack_stash_add_trace() return the leaf.
Hmm, not quite - we still need the "go-back-on-recursion" behavior.
That could be added of course, but that gets complex.
DONE: the name is now "cumulative"
* Consider whether ProfileDescendant can be done with a StackStash We
need the "go-back-on-recursion" behavior. That could be added of
course ... the functions are otherwise very similar.
* Add spew infrastructure to make remote debugging easier.
@ -752,6 +743,17 @@ Later:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ALREADY DONE: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* In profile.c, change "non_recursive" to "cumulative", and
"marked_non_recursive" to a boolean "charged". This is tricky code,
so be careful. Possibly make it a two-pass operation:
- first add the new trace
- then walk from the leaf, charging nodes
That would allow us to get rid of the marked field altogether. In fact,
maybe the descendants tree could become a stackstash. We'll just have
to make stack_stash_add_trace() return the leaf.
DONE: the name is now "cumulative"
* vdso
- assume its the same across processes, just look at