harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Fursov" <mike.fur...@gmail.com>
Subject Re: [DRLVM][Helper inlining] GC write barrier inline?
Date Thu, 07 Dec 2006 13:50:41 GMT
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 <rdasgupt@gmail.com> 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 <mike.fursov@gmail.com> 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 <egor.pasko@gmail.com> wrote:
> > >
> > > On the 0x237 day of Apache Harmony Mikhail Fursov wrote:
> > > > On 06 Dec 2006 13:13:51 +0600, Egor Pasko <egor.pasko@gmail.com>
> > 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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message