1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sun Jan 27 10:19:02 2013 +0100
1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Mon Jan 28 00:15:38 2013 +0100
1.3 @@ -313,7 +313,7 @@
1.4 emit(out, "var @1 = @2;", smapper.pushI(), lmapper.getI(0));
1.5 break;
1.6 case opc_lload_0:
1.7 - emit(out, "var @1 = MakeLong(@2);", smapper.pushL(), lmapper.getL(0));
1.8 + emit(out, "var @1 = @2;", smapper.pushL(), lmapper.getL(0));
1.9 break;
1.10 case opc_fload_0:
1.11 emit(out, "var @1 = @2;", smapper.pushF(), lmapper.getF(0));
1.12 @@ -328,7 +328,7 @@
1.13 emit(out, "var @1 = @2;", smapper.pushI(), lmapper.getI(1));
1.14 break;
1.15 case opc_lload_1:
1.16 - emit(out, "var @1 = MakeLong(@2);", smapper.pushL(), lmapper.getL(1));
1.17 + emit(out, "var @1 = @2;", smapper.pushL(), lmapper.getL(1));
1.18 break;
1.19 case opc_fload_1:
1.20 emit(out, "var @1 = @2;", smapper.pushF(), lmapper.getF(1));
1.21 @@ -343,7 +343,7 @@
1.22 emit(out, "var @1 = @2;", smapper.pushI(), lmapper.getI(2));
1.23 break;
1.24 case opc_lload_2:
1.25 - emit(out, "var @1 = MakeLong(@2);", smapper.pushL(), lmapper.getL(2));
1.26 + emit(out, "var @1 = @2;", smapper.pushL(), lmapper.getL(2));
1.27 break;
1.28 case opc_fload_2:
1.29 emit(out, "var @1 = @2;", smapper.pushF(), lmapper.getF(2));
1.30 @@ -358,7 +358,7 @@
1.31 emit(out, "var @1 = @2;", smapper.pushI(), lmapper.getI(3));
1.32 break;
1.33 case opc_lload_3:
1.34 - emit(out, "var @1 = MakeLong(@2);", smapper.pushL(), lmapper.getL(3));
1.35 + emit(out, "var @1 = @2;", smapper.pushL(), lmapper.getL(3));
1.36 break;
1.37 case opc_fload_3:
1.38 emit(out, "var @1 = @2;", smapper.pushF(), lmapper.getF(3));
1.39 @@ -662,7 +662,7 @@
1.40 emit(out, "return @1;", smapper.popA());
1.41 break;
1.42 case opc_i2l:
1.43 - emit(out, "var @2 = new Long(@1, 0);", smapper.popI(), smapper.pushL());
1.44 + emit(out, "var @2 = @1", smapper.popI(), smapper.pushL());
1.45 break;
1.46 case opc_i2f:
1.47 emit(out, "var @2 = @1;", smapper.popI(), smapper.pushF());
1.48 @@ -691,7 +691,7 @@
1.49 smapper.popF(), smapper.pushI());
1.50 break;
1.51 case opc_f2l:
1.52 - emit(out, "var @2 = LongFromNumber(Math.floor(@1));",
1.53 + emit(out, "var @2 = Math.floor(@1).toLong();",
1.54 smapper.popF(), smapper.pushL());
1.55 break;
1.56 case opc_d2i:
1.57 @@ -699,7 +699,7 @@
1.58 smapper.popD(), smapper.pushI());
1.59 break;
1.60 case opc_d2l:
1.61 - emit(out, "var @2 = LongFromNumber(Math.floor(@1));",
1.62 + emit(out, "var @2 = Math.floor(@1).toLong();",
1.63 smapper.popD(), smapper.pushL());
1.64 break;
1.65 case opc_i2b:
1.66 @@ -724,7 +724,7 @@
1.67 emit(out, "var @1 = 0;", smapper.pushD());
1.68 break;
1.69 case opc_lconst_0:
1.70 - emit(out, "var @1 = new Long(0,0);", smapper.pushL());
1.71 + emit(out, "var @1 = 0;", smapper.pushL());
1.72 break;
1.73 case opc_fconst_0:
1.74 emit(out, "var @1 = 0;", smapper.pushF());
1.75 @@ -733,7 +733,7 @@
1.76 emit(out, "var @1 = 1;", smapper.pushI());
1.77 break;
1.78 case opc_lconst_1:
1.79 - emit(out, "var @1 = new Long(1,0);", smapper.pushL());
1.80 + emit(out, "var @1 = 1;", smapper.pushL());
1.81 break;
1.82 case opc_fconst_1:
1.83 emit(out, "var @1 = 1;", smapper.pushF());
1.84 @@ -773,7 +773,7 @@
1.85 final Long lv = new Long(v);
1.86 final int low = (int)(lv.longValue() & 0xFFFFFFFF);
1.87 final int hi = (int)(lv.longValue() >> 32);
1.88 - emit(out, "var @1 = new Long(0x@2, 0x@3);", smapper.pushL(),
1.89 + emit(out, "var @1 = 0x@3.next32(0x@2);", smapper.pushL(),
1.90 Integer.toHexString(low), Integer.toHexString(hi));
1.91 } else {
1.92 emit(out, "var @1 = @2;", smapper.pushT(type), v);