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 <[EMAIL PROTECTED]> wrote:

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.

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 <[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

Reply via email to