diff -r a84cb25dde74 -r b2731af0357d vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Feb 12 11:46:53 2013 +0100 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Fri Feb 15 16:06:12 2013 +0100 @@ -553,7 +553,7 @@ emit(out, "@1 *= @2;", smapper.getD(1), smapper.popD()); break; case opc_idiv: - emit(out, "@1 = Math.floor(@1 / @2);", + emit(out, "@1 = @1.div32(@2);", smapper.getI(1), smapper.popI()); break; case opc_ldiv: @@ -567,7 +567,8 @@ emit(out, "@1 /= @2;", smapper.getD(1), smapper.popD()); break; case opc_irem: - emit(out, "@1 %= @2;", smapper.getI(1), smapper.popI()); + emit(out, "@1 = @1.mod32(@2);", + smapper.getI(1), smapper.popI()); break; case opc_lrem: emit(out, "@1 = @1.mod64(@2);",