JDK-6984056 : C1: incorrect code for integer constant addition on x64
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs20
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: x86
  • Submitted: 2010-09-11
  • Updated: 2011-04-23
  • Resolved: 2011-04-23
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
6u25Fixed 7Fixed hs20Fixed
Related Reports
Duplicate :  
Description
Nightly test java/util/Collections/Rotate.java failed with:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xfffffd7ff658ff92, pid=2037, tid=16
#
# JRE version: 7.0
# Java VM: OpenJDK 64-Bit Server VM (19.0-b06-201009091225.ct232829.6934483-fastdebug compiled mode solaris-amd64 )
# Problematic frame:
# J  java.util.ArrayList.get(I)Ljava/lang/Object;
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/7f9553bedfd5
09-10-2010

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/7f9553bedfd5
28-09-2010

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/7f9553bedfd5
12-09-2010

EVALUATION C1 generates incorrect code for addition of a constant to an int. Instead of emitting a 32bit arithmetic operation it does 64bit. That causes usage of the upper bits instead of overflowing, which causes incorrect results.
11-09-2010