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(),