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.



Reply via email to