Differences between revisions 3 and 4
Revision 3 as of 2008-05-14 08:13:45
Size: 1336
Comment:
Revision 4 as of 2009-09-20 21:55:36
Size: 1342
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
[[BR]][[BR]] <<BR>><<BR>>
Line 4: Line 4:
[[BR]]
When the Execution Manager is configured to use a dynamic profiling mode, the profile is collected by the JIT using [:Jitrino_OPT/edge_instrument: edge_instrument] and applied to graph with [:Jitrino_OPT/edge_annotate: edge_annotate] passes.
[[BR]]
<<BR>>
When the Execution Manager is configured to use a dynamic profiling mode, the profile is collected by the JIT using [[Jitrino_OPT/edge_instrument| edge_instrument]] and applied to graph with [[Jitrino_OPT/edge_annotate| edge_annotate]] passes.
<<BR>>
Line 8: Line 8:
[[BR]][[BR]] <<BR>><<BR>>
Line 12: Line 12:
header file: [http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.h?view=markup http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.h] [[BR]]
implementation file: [http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.cpp?view=markup http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.cpp]
header file: [[http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.h?view=markup|http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.h]] <<BR>>
implementation file: [[http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.cpp?view=markup|http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.cpp]]

'statprof' - annotates Control Flow Graph with edge profile using static code analysis heuristics.

Many optimizations can use the edge profile information for greater efficiency.
When the Execution Manager is configured to use a dynamic profiling mode, the profile is collected by the JIT using edge_instrument and applied to graph with edge_annotate passes.
When dynamic profile is not available, Jitrino.OPT can use the 'statprof' pass to update HIR with a profile based on heuristics.

Another use case for 'statprof' transformation is a fixing of dynamic profile information if one of optimizations breaks profile information by changing CFG structure. In this case, 'statprof' can be used to fix the profile information and keep it consistent.

header file: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.h
implementation file: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.cpp

Jitrino_OPT/statprof (last edited 2009-09-20 21:55:36 by localhost)