United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7169934 pow(x,y) or x64 computes incorrect result when x<0 and y is an odd integer
JDK-7169934 : pow(x,y) or x64 computes incorrect result when x<0 and y is an odd integer

Details
Type:
Bug
Submit Date:
2012-05-18
Status:
Closed
Updated Date:
2013-07-31
Project Name:
JDK
Resolved Date:
2012-05-26
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
x86
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs24
Fixed Versions:
hs24 (b12)

Related Reports
Backport:
Backport:
Backport:
Backport:
Relates:

Sub Tasks

Description
On x64, 7133857 broke pow(x,y) when x<0 and y is an odd integer. This affects debug builds only. int(y) is moved to an register to be tested for parity but between the load of int(y) and the test for parity some debugging code changes the content of the integer register.
This should affect only the interpreter and c1.

                                    

Comments
EVALUATION

See description.
                                     
2012-05-18
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/e2961d14584b
                                     
2012-05-21
EVALUATION

http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e2961d14584b
                                     
2012-06-29
The issue is not present in 7u40b31-fastdebug, but it can't be reproduced as it was backported in the first hs24-based build of JDK 7 and was fixed in JDK 8 in the same build where it was introduced. Closed as not verified (setup not available).
                                     
2013-07-31



Hardware and Software, Engineered to Work Together