Request for reviews (M): 6674600, 6259129 (last Escape Analysis changes for HS12)
Vladimir Kozlov
Vladimir.Kozlov at Sun.COM
Wed Mar 19 15:08:19 PDT 2008
Chuck suggested to add a new method for the next sequence
which I used very often in macro.cpp (6259129 changes):
I added new method into PhaseIterGVN:
+ // Replace old node with new one.
+ void replace_node( Node *old, Node *nn ) {
+ add_users_to_worklist(old);
+ hash_delete(old);
+ subsume_node(old, nn);
+ }
+
But I am wondering why we not always put users of old node
on worklist in subsume_node()?
Thanks,
Vladimir
Vladimir Kozlov wrote:
> Thank you for previous reviews.
>
> Here are my last EA changes for HS12.
>
> Note: both changesets have similar memory walking code but
> I don't want to optimize/combine this code now. I will do it later.
>
> Thanks,
> Vladimir
>
> ----------------------------------------------------------------------------
>
> http://webrev.invokedynamic.info/kvn/6674600/index.html
>
> Fixed 6674600: (Escape Analysis) Optimize memory graph for instance's
> fields
>
> Problem:
> To reallocate a scalarized object during a deoptimization we need
> to know the state (values) of object's non-static fields at a safepoint.
>
> Solution:
> Use aggressive memory optimizations during Iterative GVN
> to obtain values assigned to instance's non-static fields.
>
> ----------------------------------------------------------------------------
>
> http://webrev.invokedynamic.info/kvn/6259129/index.html
>
> Fixed 6259129: (Escape Analysis) scalar replacement for non-escaping
> objects
>
> Problem:
> To reallocate a scalarized object during a deoptimization we need
> to know the state (values) of object's non-static fields at a safepoint.
>
> Solution:
> Replace non-escaping allocations with SafePointScalarObjectNode
> for a scalar replacement during macro expansion of Allocate nodes.
> Do an additional memory search to obtain values assigned to instance's
> non-static fields. Disable scalar replacement if a field's value
> can't be found.
> ----------------------------------------------------------------------------
>
More information about the hotspot-compiler-dev
mailing list