i2c needs to get down to 16-bits
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Mon, 11 Aug 2014 18:17:18 +0200
changeset 166303f1dd008e83
parent 1662 b85b98372381
child 1664 223db336eed8
i2c needs to get down to 16-bits
rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/LongArithmeticTest.java
rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
     1.1 --- a/rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/LongArithmeticTest.java	Tue Aug 05 14:54:29 2014 +0200
     1.2 +++ b/rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/LongArithmeticTest.java	Mon Aug 11 18:17:18 2014 +0200
     1.3 @@ -114,7 +114,17 @@
     1.4  
     1.5          return (trueCount == 1) ? result : -2;
     1.6      }
     1.7 -
     1.8 +    
     1.9 +    @Compare public int parameterSlotCount() {
    1.10 +        long argCounts = 281479271874563L;
    1.11 +        int x = unpack(argCounts, 2);
    1.12 +        return x;
    1.13 +    }
    1.14 +    private static char unpack(long packed, int word) { // word==0 => return a, ==3 => return d
    1.15 +        assert(word <= 3);
    1.16 +        final long val = packed >> ((3-word) * 16);
    1.17 +        return (char)val;
    1.18 +    }
    1.19      @Compare public long conversion() {
    1.20          return Long.MAX_VALUE;
    1.21      }
     2.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Tue Aug 05 14:54:29 2014 +0200
     2.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Mon Aug 11 18:17:18 2014 +0200
     2.3 @@ -833,7 +833,6 @@
     2.4                      smapper.replace(this, VarType.INTEGER, "(@1).toInt8()", smapper.getI(0));
     2.5                      break;
     2.6                  case opc_i2c:
     2.7 -                    break;
     2.8                  case opc_i2s:
     2.9                      smapper.replace(this, VarType.INTEGER, "(@1).toInt16()", smapper.getI(0));
    2.10                      break;