diff options
author | Massimiliano Mantione <massi@mono-cvs.ximian.com> | 2009-06-12 11:57:02 +0400 |
---|---|---|
committer | Massimiliano Mantione <massi@mono-cvs.ximian.com> | 2009-06-12 11:57:02 +0400 |
commit | 7d647f4d12234f9d8bb0337c89015fa84fc656d9 (patch) | |
tree | c7a15d8d007ee0778913c45c563631e17ccddf06 /Mono.Profiler | |
parent | ca149782a7cf75af511eeecf1c7b32731225f9a2 (diff) |
added method execution time accounting on individual stack frames in the call tree.
svn path=/trunk/mono-tools/; revision=135972
Diffstat (limited to 'Mono.Profiler')
-rw-r--r-- | Mono.Profiler/profiler-decoder-library/ChangeLog | 4 | ||||
-rw-r--r-- | Mono.Profiler/profiler-decoder-library/ObjectModel.cs | 8 |
2 files changed, 11 insertions, 1 deletions
diff --git a/Mono.Profiler/profiler-decoder-library/ChangeLog b/Mono.Profiler/profiler-decoder-library/ChangeLog index 7fbf8edb..2b8b4e92 100644 --- a/Mono.Profiler/profiler-decoder-library/ChangeLog +++ b/Mono.Profiler/profiler-decoder-library/ChangeLog @@ -1,3 +1,7 @@ +2009-06-12 Massimiliano Mantione <massi@ximian.com> + * ObjectModel.cs: added method execution time accounting on + individual stack frames in the call tree. + 2009-06-09 Mike Kestner <mkestner@novell.com> * ObjectModel.cs: commit Massi's calls StackTrace logging. diff --git a/Mono.Profiler/profiler-decoder-library/ObjectModel.cs b/Mono.Profiler/profiler-decoder-library/ObjectModel.cs index fd81e498..4d2ef4c3 100644 --- a/Mono.Profiler/profiler-decoder-library/ObjectModel.cs +++ b/Mono.Profiler/profiler-decoder-library/ObjectModel.cs @@ -564,7 +564,13 @@ namespace Mono.Profiler { LoadedMethod callerMethod = (callerFrame != null)? callerFrame.Method : null; if (! topMethodIsBeingJitted) { - topMethod.MethodCalled (counter - stackTop.StartCounter, callerMethod); + ulong delta = counter - stackTop.StartCounter; + + topMethod.MethodCalled (delta, callerMethod); + StackTrace trace = StackTrace.NewStackTrace (this); + if (trace != null) { + trace.RegisterCall (delta); + } } StackFrame.FreeFrame (stackTop); |