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 Wed, 06 Dec 2006 13:41:30 GMT
Xiao-Feng,
I almost finished WB helper inlining support in JIT, but need some
additional instructions.

1) Jitrino's HIR uses several instruction with Store_WriteBarrier modifier:
Op_TauStInd, Op_StInd, Op_TauStStatic, Op_TauStElem, Op_TauStField and
Tau_StRef, but only the last leads to WB helper call generation in HIR2LIR
selector. Why?

2)  I have to use 3 params for fast path helper because slow helper
(gc_heap_slot_write_ref) requires 3 params.


On 12/6/06, Xiao-Feng Li <xiaofeng.li@gmail.com> wrote:
>
> 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.
>
> Probably we can introduce some annotations to guide the compiler for
> branch scheduling (and probably for some other scenarios as well, such
> as dead object for GC).  Of course that will not be prioritized until
> some evidence shows the importance.
>
> Thanks,
> xiaofeng
>
> > 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