JDK-6260293 : fix set_ctrl() inconsistencies in loopopts
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 5.0u12,6
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic,solaris
  • CPU: generic,sparc
  • Submitted: 2005-04-22
  • Updated: 2010-12-08
  • Resolved: 2005-08-26
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.
Other JDK 6
5.0u18-revFixed 6 b49Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
In loopopts, we sometimes use set_ctrl() and friends to associate a node with a control that we wouldn't allow as in(0). For example, we may call set_ctrl() with an IfNode.  

Such sloppiness can cause surprising results downstream where we compare in(0) against get_ctrl() and do a particular transformation based on that comparison.

Such loose play lead to problems such as found in 6233005.
###@###.### 2005-04-22 21:40:23 GMT

SUGGESTED FIX See PRT webrev: http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/c2_baseline/2005/20050815102757.rasbold.c2_baseline2/workspace/webrevs/webrev-2005.08.15/index.html

EVALUATION Add assert in loopnode.hpp wherever we call _nodes.map. Let the asserts be our guide in finding bad ctrl settings. ###@###.### 2005-04-22 21:46:19 GMT