Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6757316
Votes 0
Synopsis load_constant() produces a wrong long constant, with high a low words swapped
Category hotspot:compiler1
Reported Against
Release Fixed hs14(b09), hs11(b17) (Bug ID:2169324) , 6u12(b01) (Bug ID:2170220) , 7(b42) (Bug ID:2172400)
State 10-Fix Delivered, bug
Priority: 1-Very High
Related Bugs
Submit Date 08-OCT-2008
Description
C1 code generator refers to invalid T_LONG constant in case a similar constant with high and low words swapped is present.

The test case:
  public static void main(String[] args) {
    long[] arr = {
      0x11111111aaaaaaaaL,
      0xaaaaaaaa11111111L,
      0x11111111aaaaaaaaL,
      0xaaaaaaaa11111111L
    };
    System.out.println(Long.toHexString(arr[1]));
  }
The output is wrong (11111111aaaaaaaa) on SPARC and on ARM.
Posted Date : 2008-10-08 15:26:17.0
Work Around
N/A
Evaluation
The problem was found in LIRGenerator::load_constant(). See comments and suggester fix for details.
Posted Date : 2008-10-17 15:23:44.0

http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/a738a625039a
Posted Date : 2008-12-13 09:19:41.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang