United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6709742 find_base_for_derived's use of Ideal NULL is unsafe causing crashes during register allocation
JDK-6709742 : find_base_for_derived's use of Ideal NULL is unsafe causing crashes during register allocation

Details
Type:
Bug
Submit Date:
2008-06-02
Status:
Resolved
Updated Date:
2010-04-03
Project Name:
JDK
Resolved Date:
2009-05-08
Component:
hotspot
OS:
solaris_9
Sub-Component:
compiler
CPU:
sparc
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs12
Fixed Versions:
hs16 (b02)

Related Reports
Backport:
Backport:
Relates:
Relates:

Sub Tasks

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
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/04fa5affa478
                                     
2009-04-23
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.
                                     
2009-04-23



Hardware and Software, Engineered to Work Together