1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Fri Jan 11 16:36:28 2013 +0100
1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sun Jan 13 23:07:54 2013 +0100
1.3 @@ -491,7 +491,7 @@
1.4 emit(out, "@1 = @2;", lmapper.setD(3), smapper.popD());
1.5 break;
1.6 case opc_iadd:
1.7 - emit(out, "@1 = (@1 + @2) | 0;", smapper.getI(1), smapper.popI());
1.8 + emit(out, "@1 = __add32(@1,@2);", smapper.getI(1), smapper.popI());
1.9 break;
1.10 case opc_ladd:
1.11 emit(out, "@1 += @2;", smapper.getL(1), smapper.popL());
1.12 @@ -503,7 +503,7 @@
1.13 emit(out, "@1 += @2;", smapper.getD(1), smapper.popD());
1.14 break;
1.15 case opc_isub:
1.16 - emit(out, "@1 = (@1 - @2) | 0;", smapper.getI(1), smapper.popI());
1.17 + emit(out, "@1 = __sub32(@1,@2);", smapper.getI(1), smapper.popI());
1.18 break;
1.19 case opc_lsub:
1.20 emit(out, "@1 -= @2;", smapper.getL(1), smapper.popL());
1.21 @@ -515,7 +515,7 @@
1.22 emit(out, "@1 -= @2;", smapper.getD(1), smapper.popD());
1.23 break;
1.24 case opc_imul:
1.25 - emit(out, "@1 = (((@1 * (@2 >> 16)) << 16) + @1 * (@2 & 0xFFFF)) | 0;", smapper.getI(1), smapper.popI());
1.26 + emit(out, "@1 = __mul32(@1,@2);", smapper.getI(1), smapper.popI());
1.27 break;
1.28 case opc_lmul:
1.29 emit(out, "@1 *= @2;", smapper.getL(1), smapper.popL());