JDKのバグの続きの続き

笑えるくらい簡単になった

public class Ploblem {
    static public void process(){
        boolean brk = true;//順番を逆にすると再現しない intでも再現
        boolean pre = false;
        System.out.println("---start---");
        for(int i = 0; i < 1; ++i){
            pre = brk;
            brk = false;
            System.out.println("if :" + pre);
        }
        System.out.println("end:" + pre);
        for(int i = 0; i < 10000; ++i);//数値を短くすると最適化までの時間が延びる?
    }
    
    public static void main(String args[]){
        for(int i = 0; i < 3; ++i){
            process();
        }        
    }
}


結果

 ---start---
if :true
end:true
 ---start---
if :true
end:true
 ---start---
if :true
end:false