Buggy For loop in Java VM 6 x64

I have faced extremely weird bug in Java VM x64 yesterday. For loop in the following snippet will end at n == 15588, which obviously not greater that Integer.MAX_VALUE. Looks like it is bug of x64 version only. At least on x32 of same version everything works fine.

import java.util.*;

class ForBug {
    public static void main( String[] a ) {
        int m = Integer.MAX_VALUE;

        for ( int n = 1; n <= m; n++ ) {
            System.out.println( "Step " + n );
        }
    }
}

Tested on:

java version "1.6.0_27"
Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode)

and

java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

Everything looks fine with While loop. Have reported a bug on http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7100905.