harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiao-Feng Li" <xiaofeng...@gmail.com>
Subject Re: [drrvm][jitrino] How can we start Escape Analysis
Date Sat, 16 Dec 2006 02:44:45 GMT
Yu, welcome to Harmony community. :-)

On 12/15/06, Mikhail Fursov <mike.fursov@gmail.com> wrote:
> In the case if monitors costs nothing, what other targets for escape
> analysis could be?

Good question. :-)

Roughly speaking,
1. Lock reservation tries to remove true locking operations at runtime;
2. Escape analysis tries to remove lock operations at compile-time;
3. Monior inlining tries to imporve locking code sequence.

Each of them has respective applicable scenario.
Lock reservation can optimize even if the lock object is accessed by
multiple threads, but escape analysis can remove the locking code
sequence at all from the beginning when applicable.

Thanks,
xiaofeng

> On 12/15/06, Yu Zhang <clarazhang@gmail.com> wrote:
> >
> > Pavel,
> >
> > Thanks for your help. I could have started the Escape Analysis already.
> > But there is another question, you said a new thread manager(TM) in DRLVM
> > siginificantly reduced synchronization cost, could you give me further
> > infomation on it, such as the file name or the related documents (except the
> > http://harmony.apache.org/subcomponents/drlvm/TM.html) ? Are there several
> > TM implementations in DRLVM? If so, how can we choose it?
> > Thanks.
> >
> > Yu
> > ----- Original Message -----
> > From: "Pavel Ozhdikhin" <pavel.ozhdikhin@gmail.com>
> > To: <dev@harmony.apache.org>
> > Sent: Friday, December 15, 2006 1:05 PM
> > Subject: Re: [drrvm][jitrino] How can we start Escape Analysis
> >
> >
> > > Clara,
> > >
> > > There are 2 implementations of Escape Analysis in the optimizer:
> > >
> > > - old_escape (escapeanalyzer.cpp) is an old prototype which does some
> > > analysis but does not actually optimize anything;
> > > - escape (escanalyzer.cpp) is a newer prototype which implements
> > EA-based
> > > sychronization elimination and works on Windows/IA32. It showed a good
> > > performance improvement, but a new thread manager in DRLVM
> > siginificantly
> > > reduced synchronization cost, so performance effect from escape pass
> > became
> > > imperceptible and tjhe optimization has been turned off.
> > >
> > > You can try the 'escape' optimization pass by including it into the
> > > optimization path in the emconf file. For example, to add escape into
> > the
> > > default optimizer path, edit your client.emconf as follows (added pass
> > > marked bold):
> > >
> > > -XDjit.CD_OPT.path.optimizer=ssa
> > ,devirt,inline,uce,purge,simplify,dce,uce,*
> > > escape*,lazyexc,memopt,simplify,dce,uce,lower,dessa,statprof,markglobals
> > >
> > > Thank you,
> > > Pavel
> > >
> > >
> > > On 12/15/06, clara <clarazhang@gmail.com> wrote:
> > >
> > >> Hi,all:
> > >>
> > >> I noticed that there were two kinds of escape analysis implementation
> > in
> > >> jitrino\src\optimizer.
> > >> But what command options can be used to start these Escape Analysis?
> > >> Thanks.
> > >>
> > >> --
> > >> Yu Zhang
> > >>
> > >> Univ. of Science & Technology of China(USTC)
> > >>
> > >
>
>
>
>
> --
> Mikhail Fursov
>
>

Mime
View raw message