anchor.diff:  
     List<int> sublist(int start, [int end]) {
       end = _checkSublistArguments(start, end, length);
  -    var source = JS('Int8List', '#.subarray(#, #)', this, start, end)
  -        .._setCachedLength();
  +    var source = JS('Int8List', '#.subarray(#, #)', this, start, end);
       return _create1(source);
     }
   
     static Int8List _create1(arg) =>
  -      JS('Int8List', 'new Int8Array(#)', arg).._setCachedLength();
  +      JS('Int8List', 'new Int8Array(#)', arg);
   
     static Int8List _create2(arg1, arg2) =>
  -      JS('Int8List', 'new Int8Array(#, #)', arg1, arg2).._setCachedLength();
  +      JS('Int8List', 'new Int8Array(#, #)', arg1, arg2);
   
     static Int8List _create3(arg1, arg2, arg3) =>
  -      JS('Int8List', 'new Int8Array(#, #, #)', arg1, arg2, arg3)
  -          .._setCachedLength();
  +      JS('Int8List', 'new Int8Array(#, #, #)', arg1, arg2, arg3);
   }
   
   
  
positive.code:     if (JS('bool', '(# >>> 0 != #)', index, index) || index >= length) {
        _invalidIndex(index, length);
      }
    }
  
    // TODO(12929): Remove this method once V8 optimizes length access of
    // typed arrays.
    void _setCachedLength() {
      JS('void', r'#.$dartCachedLength = #.length', this, this);
    }
  
    int _checkSublistArguments(int start, int end, int length) {
  
negative.code: 
    List<int> sublist(int start, [int end]) {
      end = _checkSublistArguments(start, end, length);
      var source = JS('Int16List', '#.subarray(#, #)', this, start, end);
      return _create1(source);
    }
  
    static Int16List _create1(arg) =>
        JS('Int16List', 'new Int16Array(#)', arg);
  
    static Int16List _create2(arg1, arg2) =>
        JS('Int16List', 'new Int16Array(#, #)', arg1, arg2);
  
    static Int16List _create3(arg1, arg2, arg3) =>
        JS('Int16List', 'new Int16Array(#, #, #)', arg1, arg2, arg3);
  }
  
  
  