作者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
1F:→ tkcn:如果最後发现其实是 Intel CPU 的 bug,我就请大家吃宵夜 05/20 08:59
2F:→ TonyQ:见者有份 05/20 09:38
3F:→ superlubu:香港人看到,有份吗 XD? 05/20 09:51
4F:→ qrtt1:我也要吃..XD 05/20 09:57
5F:推 GHOST822:台北,谢谢XD 05/20 11:07
6F:推 SansWord:台北~多谢!! 05/20 21:06
7F:→ AmosYang:板标… XD 05/24 01:22
8F:→ dnucolulhhz:所以最後结果是什麽? 05/24 12:49
9F:→ tkcn:楼上是问宵夜的结果还是 bug 的结果? XDrz 05/24 13:05
10F:→ dnucolulhhz:当然是问有没有宵夜啊 (敲碗 05/24 20:15