JDK-7052494 : Eclipse test fails on JDK 7 b142
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 7
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2011-06-07
  • Updated: 2013-04-24
  • Resolved: 2011-06-25
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 7 JDK 8 Other
7Fixed 8Fixed hs21Fixed
Related Reports
Relates :  
Relates :  
Description
The Eclipse team reports varous test failures have started to occur on 64-bit windows with JDK 7 b142 and later.  See comments for details on how to reproduce the problem.

Comments
EVALUATION http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/aacaff365100
08-07-2011

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/aacaff365100
07-07-2011

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/782e2bb60c41
23-06-2011

SUGGESTED FIX Final fix: http://cr.openjdk.java.net/~kvn/7052494/webrev
21-06-2011

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/aacaff365100
21-06-2011

SUGGESTED FIX The band-aid fix: src/share/vm/opto/loopnode.cpp Thu Jun 16 19:03:05 2011 -0700 @@ -347,6 +347,8 @@ if (LoopLimitCheck) { + if (bt == BoolTest::ne) return false; // Not supported +
17-06-2011

EVALUATION I verified that the problem is caused by my changes for 5091921 fix: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/bad7ecd0b6ed Tests passed with -XX:-LoopLimitCheck. I traced it to new code which changes loop check "for(i != lim; i++)" to "for(i < lim; i++)". Such conversion is incorrect when initial value is >= lim (note, such loops are terminated by other checks inside loop's body).
17-06-2011