The replace_parallel_iv() function crashes in a specific edge case. Not sure if the crash happens on platforms other than x86, but the result of a division operation can not be represented. Small test case below, run with -XX:-TieredCompilation -XX:-BackgroundCompilation for reproduction. Contribution forthcoming shortly with proposed fix. public class TestImpossibleIV { static private void testMethod() { int sum = 0; // A unit count-down loop which has an induction variable with // MIN_VALUE stride. for (int i = 100000; i >= 0; i--) { sum += Integer.MIN_VALUE; } } public static void main(String[] args) { testMethod(); } }