Rana, Sorry I spent whole day investigating critical monenter helper's bug (inlined version), so had no time to read an answer.
The answer is yes. Jitrino.OPT does static profile estimation, see jitrino/src/dynopt/StaticProfiler.cpp file. It's code is based on "Static Branch Frequency and Program Profile Analysis / Wu, Laurus, IEEE/ACM 1994" article. Static profiler pass is also used in dynamic profile mode to smooth or fix edge profile when some optimization transforms IR On 12/6/06, Rana Dasgupta <[EMAIL PROTECTED]> wrote:
Does jitrino make any static prediction about relative probability of branches ( eg., fall through branch more probable ) for code that has no associated profile data? On 12/6/06, Mikhail Fursov <[EMAIL PROTECTED]> wrote: > > Today helpers are inlined only by SD2_OPT JIT. We can add helpers inlining > to SD1_OPT too, but helpers classes are initialized only from VMStart > class > - so there will be ~1k methods compiled by SD1_OPT without helpers inlined > and we will have a problem to differentiate them. > > On 06 Dec 2006 16:52:12 +0600, Egor Pasko <[EMAIL PROTECTED]> wrote: > > > > On the 0x237 day of Apache Harmony Mikhail Fursov wrote: > > > On 06 Dec 2006 13:13:51 +0600, Egor Pasko <[EMAIL PROTECTED]> > wrote: > > > > > > > > Jitrino.OPT relies on edge profile. The most probable edges are > > > > fallthrough. > > > > > > The only problem here is that vmhelpers are never recompiled > and their > > IR > > > is estimated with heuristic based profiler. So, as JIT developer, I'm > > not > > > sure if a branch in Java code will be layouted as fallthrough or as > > jump. > > > > That's interesting! I see no serious reasons that can stop us from > > profiling VM helpers. Just need the right .emconf. Or am I missing > > something? > > > > -- > > Egor Pasko > > > > > > > -- > Mikhail Fursov > >
-- Mikhail Fursov