vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
brancharithmetic
changeset 737 b2731af0357d
parent 712 a84cb25dde74
child 753 cc0e6767259b
     1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Tue Feb 12 11:46:53 2013 +0100
     1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Fri Feb 15 16:06:12 2013 +0100
     1.3 @@ -553,7 +553,7 @@
     1.4                      emit(out, "@1 *= @2;", smapper.getD(1), smapper.popD());
     1.5                      break;
     1.6                  case opc_idiv:
     1.7 -                    emit(out, "@1 = Math.floor(@1 / @2);",
     1.8 +                    emit(out, "@1 = @1.div32(@2);",
     1.9                           smapper.getI(1), smapper.popI());
    1.10                      break;
    1.11                  case opc_ldiv:
    1.12 @@ -567,7 +567,8 @@
    1.13                      emit(out, "@1 /= @2;", smapper.getD(1), smapper.popD());
    1.14                      break;
    1.15                  case opc_irem:
    1.16 -                    emit(out, "@1 %= @2;", smapper.getI(1), smapper.popI());
    1.17 +                    emit(out, "@1 = @1.mod32(@2);",
    1.18 +                         smapper.getI(1), smapper.popI());
    1.19                      break;
    1.20                  case opc_lrem:
    1.21                      emit(out, "@1 = @1.mod64(@2);",