作者AmosYang (LetMeGoogleThatForYou)
看板java
標題Re: [問題] int i,u; i<=u 與 (long)i<u 結果不同
時間Thu May 20 07:07:52 2010
※ 引述《tkcn (小安)》之銘言:
: 如果有板友願意幫忙測試,
: 請用站內信寄給我:
: (1) 執行結果正確與否
: (2) 執行環境
我的環境
Win7 x64
javac 1.6.0_20
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)
在我的環境裡:
* 就算在 line 10 把 c 切始化為 1 也一樣會產生錯誤的結果
* 跑了個 script 試了 100 次,百分之百能重現這個 bug
* 加了 -Djava.compiler= 再跑了 100 次,無法重現此 bug
* 用 javap & jdb 看了老半天也看不出個所以然來
* javac 生出來的 bytecode 看起來沒什問題
* JVM 也沒什異常,只要不讓 JIT 亂動就天下太平
是故…這是一張瑞士銀行的本票,價值三千萬美金, 通通買「這是個 JIT bug」 XD
有根性的人可以去試試是否能用 openjdk 的 JIT 重現這 bug
然後… fix it XD
: 我只是想寫個 ACM 而已,怎麼會搞成這樣 囧
不是每個人都能碰到 JIT bug 的,你該請吃消夜了 XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 65.87.177.87
→ tkcn:如果最後發現其實是 Intel CPU 的 bug,我就請大家吃宵夜 05/20 08:59
→ TonyQ:見者有份 05/20 09:38
→ superlubu:香港人看到,有份嗎 XD? 05/20 09:51
→ qrtt1:我也要吃..XD 05/20 09:57
推 GHOST822:台北,謝謝XD 05/20 11:07
推 SansWord:台北~多謝!! 05/20 21:06
→ AmosYang:板標… XD 05/24 01:22
→ dnucolulhhz:所以最後結果是什麼? 05/24 12:49
→ tkcn:樓上是問宵夜的結果還是 bug 的結果? XDrz 05/24 13:05
→ dnucolulhhz:當然是問有沒有宵夜啊 (敲碗 05/24 20:15