JDK-6673473 : Escape Analysis: Add the instance's field information to PhiNode.
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs12
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_10
  • CPU: sparc
  • Submitted: 2008-03-10
  • Updated: 2016-08-03
  • Resolved: 2011-04-20
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 Other
6u14Fixed hs12Fixed
Related Reports
Relates :  
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.

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'.

SUGGESTED FIX Add the instance's field information to PhiNode to reuse the same value Phi for each optimization path for a loop.

EVALUATION See description.