JDK-6709742 : find_base_for_derived's use of Ideal NULL is unsafe causing crashes during register allocation
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs12
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_9
  • CPU: sparc
  • Submitted: 2008-06-02
  • Updated: 2010-04-03
  • Resolved: 2009-05-08
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 JDK 7 Other
6u18Fixed 7Fixed hs16Fixed
Related Reports
Relates :  
Relates :  
Description
PhaseChaitin::stretch_base_pointer_live_ranges stretches the base pointers for live ranges and in some cases may have to construct a NULL base in find_base_for_derived.  It constructs an Ideal NULL instead of a mach one and if the Ideal NULL is ever used in Phi with real machine values we will die during register allocation.  It's very hard to reproduce in practice though the changes for 6552204 causes it to occur with Eclipse in some cases.

Comments
PUBLIC COMMENTS Fixed 6709742: find_base_for_derived's use of Ideal NULL is unsafe causing crashes during register allocation Problem: PhaseChaitin::stretch_base_pointer_live_ranges() stretches the base pointers for live ranges and in some cases may have to construct a NULL base in find_base_for_derived. It constructs an Ideal NULL instead of a mach one and if the Ideal NULL is ever used in Phi with real machine values we will die during register allocation. Solution: Create a mach node corresponding to ideal node ConP #NULL specifically for derived pointers. Add the assert to catch the bug case. Add asserts to verify that narrow pointers can't be derived.
23-04-2009

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/04fa5affa478
23-04-2009