Es scheint eines von vielen Beispielen für eine Fehlerfamilie zu sein, die durch die JIT-Compilation verursacht wurde (ich habe diese aufgrund der Ähnlichkeit des Codes ausgewählt, fühle mich frei, andere zu erkunden - sie sind ziemlich interessant!):
BEWERTUNG
Problem ist mit der Kanonisierung des Loop-Exit-Tests in Vorbereitung Schleifenumwandlung.
do while (++i <= limit)
wird
do while (++i < limit+1)
Dies ist nicht korrekt, wenn limit maxInt ist.
Einige Probleme wurden in 1.7 behoben, die Ihre Ergebnisse erklären könnten.
Tags und Links java