Backporting expandArray fixes to make all rt/vm tests pass on Nashorn closure
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Fri, 25 Apr 2014 08:14:12 +0200
branchclosure
changeset 1486b5c7970a39e6
parent 1485 2af07db15110
child 1487 84a744941c9f
Backporting expandArray fixes to make all rt/vm tests pass on Nashorn
rt/emul/mini/src/main/java/java/lang/String.java
rt/emul/mini/src/main/java/org/apidesign/bck2brwsr/emul/lang/System.java
     1.1 --- a/rt/emul/mini/src/main/java/java/lang/String.java	Thu Apr 24 18:05:21 2014 +0200
     1.2 +++ b/rt/emul/mini/src/main/java/java/lang/String.java	Fri Apr 25 08:14:12 2014 +0200
     1.3 @@ -984,12 +984,12 @@
     1.4                  continue;
     1.5              }
     1.6              if (v < 0x0800) {
     1.7 -                arr = System.expandArray(arr, i + 1);
     1.8 +                arr = System.expandArray(arr, arr.length + 1);
     1.9                  arr[i++] = (byte) (0xC0 | (v >> 6));
    1.10                  arr[i++] = (byte) (0x80 | (0x3F & v));
    1.11                  continue;
    1.12              }
    1.13 -            arr = System.expandArray(arr, i + 2);
    1.14 +            arr = System.expandArray(arr, arr.length + 2);
    1.15              arr[i++] = (byte) (0xE0 | (v >> 12));
    1.16              arr[i++] = (byte) (0x80 | ((v >> 6) & 0x7F));
    1.17              arr[i++] = (byte) (0x80 | (0x3F & v));
     2.1 --- a/rt/emul/mini/src/main/java/org/apidesign/bck2brwsr/emul/lang/System.java	Thu Apr 24 18:05:21 2014 +0200
     2.2 +++ b/rt/emul/mini/src/main/java/org/apidesign/bck2brwsr/emul/lang/System.java	Fri Apr 25 08:14:12 2014 +0200
     2.3 @@ -50,12 +50,12 @@
     2.4      }
     2.5  
     2.6      @JavaScriptBody(args = { "arr", "expectedSize" }, body = 
     2.7 -        "while (expectedSize-- > arr.length) { arr.push(0); }; return arr;"
     2.8 +        "while (expectedSize > arr.length) { arr.push(0); }; return arr;"
     2.9      )
    2.10      public static native byte[] expandArray(byte[] arr, int expectedSize);
    2.11  
    2.12      @JavaScriptBody(args = { "arr", "expectedSize" }, body = 
    2.13 -        "while (expectedSize-- > arr.length) { arr.push(0); }; return arr;"
    2.14 +        "while (expectedSize > arr.length) { arr.push(0); }; return arr;"
    2.15      )
    2.16      public static native char[] expandArray(char[] arr, int expectedSize);
    2.17