harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Ozhdikhin" <pavel.ozhdik...@gmail.com>
Subject Re: [drlvm][jit][ia-32]escape analysis based scalar replacement
Date Fri, 17 Nov 2006 12:21:50 GMT
Natalya,

Thanks for the proposal.
I think you should start with opening a new JIRA issue, copy the description
of the optimization there and submit some micro-benchmarks showing the
headroom for optimization.  Later we'll use this JIRA for discussng code
patches.

One question:

> -        optimized array may have only one array element usage.

What prevents array objects with, say, 2 elements used from being optimized?

Thanks,
Pavel

On 11/17/06, Natalya Golovleva <natalya.golovleva@gmail.com> wrote:
>
> Hello all,
>
>
>
> JIT Development Tasks list among other tasks contains new optimization -
> EA-based scalar replacement.
>
>
>
> EA determinates for every reference object used in the method its state:
> local, argument escaped and global escaped.
>
> Escape analysis (EA) is already committed to harmony.
>
>
>
> Scalar replacement optimization may be done for local objects (class
> instances and arrays) that satisfy to:
>
> -        class should not have finalizer, class instance initializer
> should
> not have side effects;
>
> -        optimized array may have only one array element usage.
>
>
>
> I am going to implement EA-based scalar replacement for IA-32.
>
>
>
> The proposal is:
>
> 1.. to perform scalar replacement for specified above local objects.
> 2.. using devirtualization and inlining change method code to create the
> object only when it is used as a parameter of virtual call and perform
> scalar replacement for branches with inlined direct calls.
>
>
> Any comments are welcome.
>
>
>
> Thank you,
>
> Natalya.
>
>
>
>

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