United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6673473 Escape Analysis: Add the instance's field information to PhiNode.
6673473 : Escape Analysis: Add the instance's field information to PhiNode.

Details
Type:
Enhancement
Submit Date:
2008-03-10
Status:
Closed
Updated Date:
2011-04-20
Project Name:
JDK
Resolved Date:
2011-04-20
Component:
hotspot
OS:
solaris_10
Sub-Component:
compiler
CPU:
sparc
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs12
Fixed Versions:
hs12

Related Reports
Backport:
Backport:

Sub Tasks

Description
Phi nodes are generated when needed to represent instance's fields values to scalar 
replace an allocation. They are generated during memory optimization by using 
split_through_phi optimization. It creates problem when we do this for loop's Phi 
since there is no a guard against infinite (for each optimization path for the loop) 
generation of such values Phi nodes.

                                    

Comments
SUGGESTED FIX

The changeset contains the next additional changes.

Fix TypeAryPtr::xmeet() and dump2() methods for new array instances.

Move the code in MemNode::Ideal_common() to the separate method 
step_through_mergemem() which will be used in the next EA changes.

Replace incorrect assert (static calls are not only runtime calls) 
in MemNode::Ideal_DU_postCCP() with more precise asserts.

Fix the assert in MergeMemNode::Ideal() to allow duplicated references when
the transformation is still in 'progress'.
                                     
2008-03-14
SUGGESTED FIX

Add the instance's field information to PhiNode to reuse the same value Phi
for each optimization path for a loop.
                                     
2008-03-10
EVALUATION

See description.
                                     
2008-03-10



Hardware and Software, Engineered to Work Together