- 
    Bug 
- 
    Resolution: Fixed
- 
     P3 P3
- 
    hs17
- 
        b03
- 
        sparc
- 
        solaris_9
- 
        Verified
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build | 
|---|---|---|---|---|---|---|
| JDK-2195081 | 7 | Tom Rodriguez | P3 | Closed | Fixed | b99 | 
| JDK-2197828 | 6u23 | Tom Rodriguez | P3 | Resolved | Fixed | b01 | 
| JDK-2199728 | 6u22m | Tom Rodriguez | P3 | Resolved | Fixed | b01 | 
| JDK-2197537 | 6u21p | Tom Rodriguez | P3 | Resolved | Fixed | b03 | 
                    6879921 fix a case where it the superword optimization was attempting to handle arrays of oops which we didn't allow.  A guard was inserted in stmts_can_pack which fixed the original issue.  Testing with bigapps has shown that there are other paths where this problem can manifest.  In particular this pattern:
public static void init(Object src[], boolean[] dst) {
// initialize the arrays
for (int i =0; i<src.length; i++) {
dst[i] = src[i] != null ? false : true;
}
}
shows that are_adjacent_refs can be reached through est_savings, skipping the added is_java_primitive guard. The fix is to move the is_java_primitive into are_adjacent_refs to guard the data_size calls.
            
public static void init(Object src[], boolean[] dst) {
// initialize the arrays
for (int i =0; i<src.length; i++) {
dst[i] = src[i] != null ? false : true;
}
}
shows that are_adjacent_refs can be reached through est_savings, skipping the added is_java_primitive guard. The fix is to move the is_java_primitive into are_adjacent_refs to guard the data_size calls.
- backported by
- 
                    JDK-2197537 fix for 6879921 was insufficient -           
- Resolved
 
-         
- 
                    JDK-2197828 fix for 6879921 was insufficient -           
- Resolved
 
-         
- 
                    JDK-2199728 fix for 6879921 was insufficient -           
- Resolved
 
-         
- 
                    JDK-2195081 fix for 6879921 was insufficient -           
- Closed
 
-         
- relates to
- 
                    JDK-6879921 CTW failure jdk6_18/hotspot/src/share/vm/utilities/globalDefinitions.cpp:268 -           
- Closed
 
-