diff -r 14a122c18d73 -r 44ade87ef2a4 rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Jan 26 06:57:30 2016 +0100 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Jan 26 07:28:25 2016 +0100 @@ -814,7 +814,7 @@ smapper.replace(this, VarType.LONG, numbers.xor64(), smapper.getL(1), smapper.popL()); break; case opc_ineg: - smapper.replace(this, VarType.INTEGER, "(-(@1))", smapper.getI(0)); + smapper.replace(this, VarType.INTEGER, "(-(@1) | 0)", smapper.getI(0)); break; case opc_lneg: smapper.replace(this, VarType.LONG, numbers.neg64(), smapper.getL(0));