rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
changeset 1800 65cab8539582
parent 1796 136787ac00d3
child 1801 a29572878b0e
     1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Fri Feb 27 12:06:58 2015 +0100
     1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Fri Feb 27 19:28:07 2015 +0100
     1.3 @@ -975,11 +975,13 @@
     1.4                      break;
     1.5                  case opc_fcmpl:
     1.6                  case opc_fcmpg:
     1.7 -                    smapper.replace(this, VarType.INTEGER, "(@2).compare(@1)", smapper.popF(), smapper.getF(0));
     1.8 +                    emit(smapper, this, "var @3 = (@2 == @1) ? 0 : ((@2 < @1) ? -1 : 1);",
     1.9 +                         smapper.popF(), smapper.popF(), smapper.pushI());
    1.10                      break;
    1.11                  case opc_dcmpl:
    1.12                  case opc_dcmpg:
    1.13 -                    smapper.replace(this, VarType.INTEGER, "(@2).compare(@1)", smapper.popD(), smapper.getD(0));
    1.14 +                    emit(smapper, this, "var @3 = (@2 == @1) ? 0 : ((@2 < @1) ? -1 : 1);",
    1.15 +                         smapper.popD(), smapper.popD(), smapper.pushI());
    1.16                      break;
    1.17                  case opc_if_acmpeq:
    1.18                      i = generateIf(smapper, byteCodes, i, smapper.popA(), smapper.popA(),