Yu, welcome to Harmony community. :-)

On 12/15/06, Mikhail Fursov <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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" <[EMAIL PROTECTED]>
> To: <[email protected]>
> 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 <[EMAIL PROTECTED]> 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


Reply via email to