Request for reviews (M): 6673473: Escape Analysis: Add the instance's field information to PhiNode
Vladimir.Kozlov at Sun.COM
Mon Mar 10 16:53:13 PDT 2008
Fixed 6673473: Escape Analysis: Add the instance's field information to PhiNode
Phi nodes are generated when needed to represent instance's fields values
for a scalar replacement of an allocation. They are generated during memory
optimization by using split_through_phi optimization. It creates a problem
when we do this for a loop's Phi since there is no a guard against infinite
(for each optimization path for the loop) generation of such value Phi nodes.
Add the instance's field information to PhiNode to reuse the same value Phi.
Also additional (needed for EA) fixes in touched files:
1. Fix TypeAryPtr::xmeet() and dump2() methods for array instances.
2. Move the code in MemNode::Ideal_common() to the separate method
step_through_mergemem() which will be used in the next EA changes.
3. Replace incorrect assert (static calls are not only runtime calls)
in MemNode::Ideal_DU_postCCP() with more precise asserts.
4. Fix the assert in MergeMemNode::Ideal() to allow duplicated references
when the transformation is still in 'progress'.
Fix verified (y/n): y
More information about the hotspot-compiler-dev