JDK-5015073 : CastPP removal process is too complex
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 5.0,9,10
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • OS: generic
  • CPU: generic
  • Submitted: 2004-03-17
  • Updated: 2018-10-05
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
tbdUnresolved
Related Reports
Relates :  
Description
CastPP nodes are generally removed after the CCP pass.

This is done by a convoluted process using the Ideal_DU_postCCP virtual functions in which CastPP nodes are made useless by tricking their types. Any MemNode outputs of these CastPP nodes that would then require a control edge are updated by walking up their input address nodes looking for an appropriate CastPP or CheckCastPP  node.  The MemNode inherits its control from the found cast node.

With DU edges available,  it seems simpler to eliminate CastPP nodes and walking their output edges, updating the control inputs of the output nodes.

Comments
I'm not sure if this problem still applies to recent hotspot versions.
16-02-2017

CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: dragon
15-08-2004

EVALUATION With DU edges available, it seems simpler to eliminate CastPP nodes and walking their output edges, updating the control inputs of the output nodes. If we retain MemNode:Ideal_DU_PostCCP in some form, the control flow within in the while(true) loop needs to be cleaned up. ###@###.### 2004-03-17
17-03-2004