vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
brancharithmetic
changeset 615 e3f671b50e93
parent 594 035fcbd7a33c
child 620 189f695d0b02
     1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Mon Jan 28 00:15:38 2013 +0100
     1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Wed Jan 30 22:23:21 2013 +0100
     1.3 @@ -582,7 +582,7 @@
     1.4                      emit(out, "@1 &= @2;", smapper.getI(1), smapper.popI());
     1.5                      break;
     1.6                  case opc_land:
     1.7 -                    emit(out, "@1 &= @2;", smapper.getL(1), smapper.popL());
     1.8 +                    emit(out, "@1 = @1.and64(@2);", smapper.getL(1), smapper.popL());
     1.9                      break;
    1.10                  case opc_ior:
    1.11                      emit(out, "@1 |= @2;", smapper.getI(1), smapper.popI());
    1.12 @@ -618,7 +618,7 @@
    1.13                      emit(out, "@1 >>= @2;", smapper.getI(1), smapper.popI());
    1.14                      break;
    1.15                  case opc_lshr:
    1.16 -                    emit(out, "@1 >>= @2;", smapper.getL(1), smapper.popI());
    1.17 +                    emit(out, "@1 = @1.shr64(@2);", smapper.getL(1), smapper.popI());
    1.18                      break;
    1.19                  case opc_iushr:
    1.20                      emit(out, "@1 >>>= @2;", smapper.getI(1), smapper.popI());