Fixed error in neg64 found bu Lubo.
1.1 --- a/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_Number.js Mon Feb 04 09:41:33 2013 +0100
1.2 +++ b/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_Number.js Tue Feb 05 15:03:22 2013 +0100
1.3 @@ -203,5 +203,6 @@
1.4 hi = ~hi;
1.5 low = ~low;
1.6 low += (low < 0) ? (__m32+1) : 0;
1.7 - return hi.next32(low);
1.8 + var ret = hi.next32(low);
1.9 + return ret.add64(1);
1.10 };
2.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/NumberTest.java Mon Feb 04 09:41:33 2013 +0100
2.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/NumberTest.java Tue Feb 05 15:03:22 2013 +0100
2.3 @@ -169,6 +169,16 @@
2.4 );
2.5 }
2.6
2.7 + @Test public void longNegate3() throws Exception {
2.8 + final long res = -0xfffffffffffffeddl;
2.9 + assertExec("Long negate",
2.10 + Numbers.class, "negL__J_3B",
2.11 + Double.valueOf(res),
2.12 + new byte[] { (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xfe, (byte)0xdd }
2.13 + );
2.14 + }
2.15 +
2.16 +
2.17 @Test public void longAddOverflow() throws Exception {
2.18 final long res = Long.MAX_VALUE + 1l;
2.19 assertExec("Addition 1+MAX",