Version 2.13.0-20.0.dev

Merge commit '31528c6327fe2a1a2b4a35445957fd3610be218f' into 'dev'
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 75ddaaa..afa88f5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,16 @@
+## 2.13.0
+
+### Language
+
+### Core libraries
+
+### Dart VM
+
+### Tools
+
+#### Dartanalyzer
+
+
 ## 2.12.0
 
 ### Language
diff --git a/pkg/kernel/lib/binary/ast_from_binary.dart b/pkg/kernel/lib/binary/ast_from_binary.dart
index 125f605..7eb93df 100644
--- a/pkg/kernel/lib/binary/ast_from_binary.dart
+++ b/pkg/kernel/lib/binary/ast_from_binary.dart
@@ -289,10 +289,8 @@
   void readStringTable(List<String> table) {
     // Read the table of end offsets.
     int length = readUInt30();
-    List<int> endOffsets = new List<int>.filled(length, null);
-    for (int i = 0; i < length; ++i) {
-      endOffsets[i] = readUInt30();
-    }
+    List<int> endOffsets =
+        new List<int>.generate(length, (_) => readUInt30(), growable: false);
     // Read the WTF-8 encoded strings.
     table.length = length;
     int startOffset = 0;
@@ -376,12 +374,11 @@
     final DartType valueType = readDartType();
     final int length = readUInt30();
     final List<ConstantMapEntry> entries =
-        new List<ConstantMapEntry>.filled(length, null, growable: true);
-    for (int i = 0; i < length; i++) {
+        new List<ConstantMapEntry>.generate(length, (_) {
       final Constant key = readConstantReference();
       final Constant value = readConstantReference();
-      entries[i] = new ConstantMapEntry(key, value);
-    }
+      return new ConstantMapEntry(key, value);
+    }, growable: true);
     return new MapConstant(keyType, valueType, entries);
   }
 
@@ -441,12 +438,8 @@
 
   List<Constant> _readConstantReferenceList() {
     final int length = readUInt30();
-    final List<Constant> list =
-        new List<Constant>.filled(length, null, growable: true);
-    for (int i = 0; i < length; i++) {
-      list[i] = readConstantReference();
-    }
-    return list;
+    return new List<Constant>.generate(length, (_) => readConstantReference(),
+        growable: true);
   }
 
   Uri readUriReference() {
@@ -459,11 +452,8 @@
 
   List<String> readStringReferenceList() {
     int length = readUInt30();
-    List<String> result = new List<String>.filled(length, null, growable: true);
-    for (int i = 0; i < length; ++i) {
-      result[i] = readStringReference();
-    }
-    return result;
+    return new List<String>.generate(length, (_) => readStringReference(),
+        growable: true);
   }
 
   String readStringOrNullIfEmpty() {
@@ -485,12 +475,9 @@
   List<Expression> readAnnotationList(TreeNode parent) {
     int length = readUInt30();
     if (length == 0) return const <Expression>[];
-    List<Expression> list =
-        new List<Expression>.filled(length, null, growable: true);
-    for (int i = 0; i < length; ++i) {
-      list[i] = readExpression()..parent = parent;
-    }
-    return list;
+    return new List<Expression>.generate(
+        length, (_) => readExpression()..parent = parent,
+        growable: true);
   }
 
   void _fillTreeNodeList(
@@ -528,7 +515,11 @@
 
   void readLinkTable(CanonicalName linkRoot) {
     int length = readUInt30();
-    _linkTable = new List<CanonicalName>.filled(length, null);
+    _linkTable = new List<CanonicalName>.filled(
+        length,
+        // Use [linkRoot] as a dummy default value.
+        linkRoot,
+        growable: false);
     for (int i = 0; i < length; ++i) {
       int biasedParentIndex = readUInt30();
       String name = readStringReference();
@@ -739,7 +730,11 @@
     result.libraryCount = readUint32();
     // Library offsets are used for start and end offsets, so there is one extra
     // element that this the end offset of the last library
-    result.libraryOffsets = new List<int>.filled(result.libraryCount + 1, null);
+    result.libraryOffsets = new List<int>.filled(
+        result.libraryCount + 1,
+        // Use `-1` as a dummy default value.
+        -1,
+        growable: false);
     result.componentFileSizeInBytes = readUint32();
     if (result.componentFileSizeInBytes != componentFileSize) {
       throw "Malformed binary: This component file's component index indicates "
@@ -851,16 +846,16 @@
     SubComponentView result;
     if (createView) {
       result = new SubComponentView(
-          new List<Library>.filled(numberOfLibraries, null),
+          new List<Library>.generate(numberOfLibraries, (int i) {
+            _byteOffset = index.libraryOffsets[i];
+            return readLibrary(component, index.libraryOffsets[i + 1]);
+          }, growable: false),
           _componentStartOffset,
           componentFileSize);
-    }
-
-    for (int i = 0; i < numberOfLibraries; ++i) {
-      _byteOffset = index.libraryOffsets[i];
-      Library library = readLibrary(component, index.libraryOffsets[i + 1]);
-      if (createView) {
-        result.libraries[i] = library;
+    } else {
+      for (int i = 0; i < numberOfLibraries; ++i) {
+        _byteOffset = index.libraryOffsets[i];
+        readLibrary(component, index.libraryOffsets[i + 1]);
       }
     }
 
@@ -879,13 +874,8 @@
   List<String> readListOfStrings() {
     int length = readUInt30();
     if (length == 0) return null;
-    List<String> strings =
-        new List<String>.filled(length, null, growable: true);
-    for (int i = 0; i < length; i++) {
-      String s = readString();
-      strings[i] = s;
-    }
-    return strings;
+    return new List<String>.generate(length, (_) => readString(),
+        growable: true);
   }
 
   /// Read the uri-to-source part of the binary.
@@ -907,7 +897,11 @@
       _sourceUriTable[i] = uri;
       Uint8List sourceCode = readByteList();
       int lineCount = readUInt30();
-      List<int> lineStarts = new List<int>.filled(lineCount, null);
+      List<int> lineStarts = new List<int>.filled(
+          lineCount,
+          // Use `-1` as a dummy default value.
+          -1,
+          growable: false);
       int previousLineStart = 0;
       for (int j = 0; j < lineCount; ++j) {
         int lineStart = readUInt30() + previousLineStart;
@@ -1067,7 +1061,11 @@
     // There is a field for the procedure count.
     _byteOffset = endOffset - (1) * 4;
     int procedureCount = readUint32();
-    List<int> procedureOffsets = new List<int>.filled(procedureCount + 1, null);
+    List<int> procedureOffsets = new List<int>.filled(
+        procedureCount + 1,
+        // Use `-1` as a dummy default value.
+        -1,
+        growable: false);
 
     // There is a field for the procedure count, that number + 1 (for the end)
     // offsets, and then the class count (i.e. procedure count + 3 fields).
@@ -1076,7 +1074,11 @@
     for (int i = 0; i < procedureCount + 1; i++) {
       procedureOffsets[i] = _componentStartOffset + readUint32();
     }
-    List<int> classOffsets = new List<int>.filled(classCount + 1, null);
+    List<int> classOffsets = new List<int>.filled(
+        classCount + 1,
+        // Use `-1` as a dummy default value.
+        -1,
+        growable: false);
 
     // There is a field for the procedure count, that number + 1 (for the end)
     // offsets, then the class count and that number + 1 (for the end) offsets.
@@ -1200,12 +1202,8 @@
 
   List<Combinator> readCombinatorList() {
     int length = readUInt30();
-    List<Combinator> result =
-        new List<Combinator>.filled(length, null, growable: true);
-    for (int i = 0; i < length; ++i) {
-      result[i] = readCombinator();
-    }
-    return result;
+    return new List<Combinator>.generate(length, (_) => readCombinator(),
+        growable: true);
   }
 
   void _readLibraryParts(Library library) {
@@ -1263,13 +1261,12 @@
     // There is a field for the procedure count.
     _byteOffset = endOffset - (1) * 4;
     int procedureCount = readUint32();
-    List<int> procedureOffsets = new List<int>.filled(procedureCount + 1, null);
     // There is a field for the procedure count, that number + 1 (for the end)
     // offsets (i.e. procedure count + 2 fields).
     _byteOffset = endOffset - (procedureCount + 2) * 4;
-    for (int i = 0; i < procedureCount + 1; i++) {
-      procedureOffsets[i] = _componentStartOffset + readUint32();
-    }
+    List<int> procedureOffsets = new List<int>.generate(
+        procedureCount + 1, (_) => _componentStartOffset + readUint32(),
+        growable: false);
     _byteOffset = savedByteOffset;
 
     CanonicalName canonicalName = readCanonicalNameReference();
@@ -1786,12 +1783,8 @@
 
   List<Expression> readExpressionList() {
     int length = readUInt30();
-    List<Expression> result =
-        new List<Expression>.filled(length, null, growable: true);
-    for (int i = 0; i < length; ++i) {
-      result[i] = readExpression();
-    }
-    return result;
+    return new List<Expression>.generate(length, (_) => readExpression(),
+        growable: true);
   }
 
   Expression readExpressionOption() {
@@ -2253,11 +2246,9 @@
       fieldValues[fieldRef] = value;
     }
     int assertCount = readUInt30();
-    List<AssertStatement> asserts =
-        new List<AssertStatement>.filled(assertCount, null);
-    for (int i = 0; i < assertCount; i++) {
-      asserts[i] = readStatement();
-    }
+    List<AssertStatement> asserts = new List<AssertStatement>.generate(
+        assertCount, (_) => readStatement(),
+        growable: false);
     List<Expression> unusedArguments = readExpressionList();
     return new InstanceCreation(
         classReference, typeArguments, fieldValues, asserts, unusedArguments)
@@ -2438,12 +2429,8 @@
 
   List<MapEntry> readMapEntryList() {
     int length = readUInt30();
-    List<MapEntry> result =
-        new List<MapEntry>.filled(length, null, growable: true);
-    for (int i = 0; i < length; ++i) {
-      result[i] = readMapEntry();
-    }
-    return result;
+    return new List<MapEntry>.generate(length, (_) => readMapEntry(),
+        growable: true);
   }
 
   MapEntry readMapEntry() {
@@ -2452,12 +2439,8 @@
 
   List<Statement> readStatementList() {
     int length = readUInt30();
-    List<Statement> result =
-        new List<Statement>.filled(length, null, growable: true);
-    for (int i = 0; i < length; ++i) {
-      result[i] = readStatement();
-    }
-    return result;
+    return new List<Statement>.generate(length, (_) => readStatement(),
+        growable: true);
   }
 
   Statement readStatementOrNullIfEmpty() {
@@ -2594,11 +2577,9 @@
     int offset = readOffset();
     Expression expression = readExpression();
     int count = readUInt30();
-    List<SwitchCase> cases =
-        new List<SwitchCase>.filled(count, null, growable: true);
-    for (int i = 0; i < count; ++i) {
-      cases[i] = new SwitchCase.empty();
-    }
+    List<SwitchCase> cases = new List<SwitchCase>.generate(
+        count, (_) => new SwitchCase.empty(),
+        growable: true);
     switchCaseStack.addAll(cases);
     for (int i = 0; i < cases.length; ++i) {
       readSwitchCaseInto(cases[i]);
@@ -2674,11 +2655,7 @@
 
   List<Catch> readCatchList() {
     int length = readUInt30();
-    List<Catch> result = new List<Catch>.filled(length, null, growable: true);
-    for (int i = 0; i < length; ++i) {
-      result[i] = readCatch();
-    }
-    return result;
+    return new List<Catch>.generate(length, (_) => readCatch(), growable: true);
   }
 
   Catch readCatch() {
@@ -2727,32 +2704,20 @@
 
   List<Supertype> readSupertypeList() {
     int length = readUInt30();
-    List<Supertype> result =
-        new List<Supertype>.filled(length, null, growable: true);
-    for (int i = 0; i < length; ++i) {
-      result[i] = readSupertype();
-    }
-    return result;
+    return new List<Supertype>.generate(length, (_) => readSupertype(),
+        growable: true);
   }
 
   List<DartType> readDartTypeList() {
     int length = readUInt30();
-    List<DartType> result =
-        new List<DartType>.filled(length, null, growable: true);
-    for (int i = 0; i < length; ++i) {
-      result[i] = readDartType();
-    }
-    return result;
+    return new List<DartType>.generate(length, (_) => readDartType(),
+        growable: true);
   }
 
   List<NamedType> readNamedTypeList() {
     int length = readUInt30();
-    List<NamedType> result =
-        new List<NamedType>.filled(length, null, growable: true);
-    for (int i = 0; i < length; ++i) {
-      result[i] = readNamedType();
-    }
-    return result;
+    return new List<NamedType>.generate(length, (_) => readNamedType(),
+        growable: true);
   }
 
   NamedType readNamedType() {
@@ -2897,10 +2862,9 @@
     int length = readUInt30();
     if (length == 0) return list ?? <TypeParameter>[];
     if (list == null) {
-      list = new List<TypeParameter>.filled(length, null, growable: true);
-      for (int i = 0; i < length; ++i) {
-        list[i] = new TypeParameter(null, null)..parent = parent;
-      }
+      list = new List<TypeParameter>.generate(
+          length, (_) => new TypeParameter(null, null)..parent = parent,
+          growable: true);
     } else if (list.length != length) {
       list.length = length;
       for (int i = 0; i < length; ++i) {
@@ -2939,12 +2903,9 @@
 
   List<NamedExpression> readNamedExpressionList() {
     int length = readUInt30();
-    List<NamedExpression> result =
-        new List<NamedExpression>.filled(length, null, growable: true);
-    for (int i = 0; i < length; ++i) {
-      result[i] = readNamedExpression();
-    }
-    return result;
+    return new List<NamedExpression>.generate(
+        length, (_) => readNamedExpression(),
+        growable: true);
   }
 
   NamedExpression readNamedExpression() {
@@ -2953,12 +2914,9 @@
 
   List<VariableDeclaration> readAndPushVariableDeclarationList() {
     int length = readUInt30();
-    List<VariableDeclaration> result =
-        new List<VariableDeclaration>.filled(length, null, growable: true);
-    for (int i = 0; i < length; ++i) {
-      result[i] = readAndPushVariableDeclaration();
-    }
-    return result;
+    return new List<VariableDeclaration>.generate(
+        length, (_) => readAndPushVariableDeclaration(),
+        growable: true);
   }
 
   VariableDeclaration readAndPushVariableDeclarationOption() {
diff --git a/runtime/vm/compiler/recognized_methods_list.h b/runtime/vm/compiler/recognized_methods_list.h
index 348954f..74ebc7c 100644
--- a/runtime/vm/compiler/recognized_methods_list.h
+++ b/runtime/vm/compiler/recognized_methods_list.h
@@ -166,30 +166,30 @@
   V(::, _abi, FfiAbi, 0x7c4ab775)                                              \
   V(::, _asFunctionInternal, FfiAsFunctionInternal, 0xbbcb235a)                \
   V(::, _nativeCallbackFunction, FfiNativeCallbackFunction, 0x3ff5ae9c)        \
-  V(::, _loadInt8, FfiLoadInt8, 0xa54bed8c)                                    \
-  V(::, _loadInt16, FfiLoadInt16, 0x828b3ee3)                                  \
-  V(::, _loadInt32, FfiLoadInt32, 0x84694d79)                                  \
-  V(::, _loadInt64, FfiLoadInt64, 0x7536cd59)                                  \
-  V(::, _loadUint8, FfiLoadUint8, 0x77952a87)                                  \
-  V(::, _loadUint16, FfiLoadUint16, 0xa31d6aa0)                                \
-  V(::, _loadUint32, FfiLoadUint32, 0x8cb59e0b)                                \
-  V(::, _loadUint64, FfiLoadUint64, 0x9b4d0b82)                                \
-  V(::, _loadIntPtr, FfiLoadIntPtr, 0x8220c1f4)                                \
-  V(::, _loadFloat, FfiLoadFloat, 0x8f209213)                                  \
-  V(::, _loadDouble, FfiLoadDouble, 0x8d53d3cf)                                \
-  V(::, _loadPointer, FfiLoadPointer, 0xc50e1486)                              \
-  V(::, _storeInt8, FfiStoreInt8, 0x000b2742)                                  \
-  V(::, _storeInt16, FfiStoreInt16, 0xf9086b68)                                \
-  V(::, _storeInt32, FfiStoreInt32, 0x1ca0a493)                                \
-  V(::, _storeInt64, FfiStoreInt64, 0x128e85b0)                                \
-  V(::, _storeUint8, FfiStoreUint8, 0x26284b2c)                                \
-  V(::, _storeUint16, FfiStoreUint16, 0x03b82314)                              \
-  V(::, _storeUint32, FfiStoreUint32, 0x069260fb)                              \
-  V(::, _storeUint64, FfiStoreUint64, 0x0393aa6f)                              \
-  V(::, _storeIntPtr, FfiStoreIntPtr, 0x28bcdede)                              \
-  V(::, _storeFloat, FfiStoreFloat, 0x853f68b4)                                \
-  V(::, _storeDouble, FfiStoreDouble, 0x6354049a)                              \
-  V(::, _storePointer, FfiStorePointer, 0x0cfd005b)                            \
+  V(::, _loadInt8, FfiLoadInt8, 0x0f04dfd6)                                    \
+  V(::, _loadInt16, FfiLoadInt16, 0xec44312d)                                  \
+  V(::, _loadInt32, FfiLoadInt32, 0xee223fc3)                                  \
+  V(::, _loadInt64, FfiLoadInt64, 0xdeefbfa3)                                  \
+  V(::, _loadUint8, FfiLoadUint8, 0xe14e1cd1)                                  \
+  V(::, _loadUint16, FfiLoadUint16, 0x0cd65cea)                                \
+  V(::, _loadUint32, FfiLoadUint32, 0xf66e9055)                                \
+  V(::, _loadUint64, FfiLoadUint64, 0x0505fdcc)                                \
+  V(::, _loadIntPtr, FfiLoadIntPtr, 0xebd9b43e)                                \
+  V(::, _loadFloat, FfiLoadFloat, 0xf8d9845d)                                  \
+  V(::, _loadDouble, FfiLoadDouble, 0xf70cc619)                                \
+  V(::, _loadPointer, FfiLoadPointer, 0x4e79d0fc)                              \
+  V(::, _storeInt8, FfiStoreInt8, 0xdf50af0c)                                  \
+  V(::, _storeInt16, FfiStoreInt16, 0xd84df332)                                \
+  V(::, _storeInt32, FfiStoreInt32, 0xfbe62c5d)                                \
+  V(::, _storeInt64, FfiStoreInt64, 0xf1d40d7a)                                \
+  V(::, _storeUint8, FfiStoreUint8, 0x056dd2f6)                                \
+  V(::, _storeUint16, FfiStoreUint16, 0xe2fdaade)                              \
+  V(::, _storeUint32, FfiStoreUint32, 0xe5d7e8c5)                              \
+  V(::, _storeUint64, FfiStoreUint64, 0xe2d93239)                              \
+  V(::, _storeIntPtr, FfiStoreIntPtr, 0x080266a8)                              \
+  V(::, _storeFloat, FfiStoreFloat, 0x6484f07e)                                \
+  V(::, _storeDouble, FfiStoreDouble, 0x42998c64)                              \
+  V(::, _storePointer, FfiStorePointer, 0xea6b7751)                            \
   V(::, _fromAddress, FfiFromAddress, 0xfd8cb1cc)                              \
   V(Pointer, get:address, FfiGetAddress, 0x7cde87be)                           \
   V(::, reachabilityFence, ReachabilityFence, 0x619235c1)                      \
diff --git a/sdk/lib/_internal/vm/lib/ffi_patch.dart b/sdk/lib/_internal/vm/lib/ffi_patch.dart
index 3a43c2b..4c69e41 100644
--- a/sdk/lib/_internal/vm/lib/ffi_patch.dart
+++ b/sdk/lib/_internal/vm/lib/ffi_patch.dart
@@ -168,89 +168,95 @@
 // and GCing new spaces takes a lot of the benchmark time. The next speedup is
 // getting rid of these allocations by inlining these functions.
 @pragma("vm:recognized", "other")
-int _loadInt8(Pointer pointer, int offsetInBytes) native "Ffi_loadInt8";
+int _loadInt8(Object typedDataBase, int offsetInBytes) native "Ffi_loadInt8";
 
 @pragma("vm:recognized", "other")
-int _loadInt16(Pointer pointer, int offsetInBytes) native "Ffi_loadInt16";
+int _loadInt16(Object typedDataBase, int offsetInBytes) native "Ffi_loadInt16";
 
 @pragma("vm:recognized", "other")
-int _loadInt32(Pointer pointer, int offsetInBytes) native "Ffi_loadInt32";
+int _loadInt32(Object typedDataBase, int offsetInBytes) native "Ffi_loadInt32";
 
 @pragma("vm:recognized", "other")
-int _loadInt64(Pointer pointer, int offsetInBytes) native "Ffi_loadInt64";
+int _loadInt64(Object typedDataBase, int offsetInBytes) native "Ffi_loadInt64";
 
 @pragma("vm:recognized", "other")
-int _loadUint8(Pointer pointer, int offsetInBytes) native "Ffi_loadUint8";
+int _loadUint8(Object typedDataBase, int offsetInBytes) native "Ffi_loadUint8";
 
 @pragma("vm:recognized", "other")
-int _loadUint16(Pointer pointer, int offsetInBytes) native "Ffi_loadUint16";
+int _loadUint16(Object typedDataBase, int offsetInBytes)
+    native "Ffi_loadUint16";
 
 @pragma("vm:recognized", "other")
-int _loadUint32(Pointer pointer, int offsetInBytes) native "Ffi_loadUint32";
+int _loadUint32(Object typedDataBase, int offsetInBytes)
+    native "Ffi_loadUint32";
 
 @pragma("vm:recognized", "other")
-int _loadUint64(Pointer pointer, int offsetInBytes) native "Ffi_loadUint64";
+int _loadUint64(Object typedDataBase, int offsetInBytes)
+    native "Ffi_loadUint64";
 
 @pragma("vm:recognized", "other")
-int _loadIntPtr(Pointer pointer, int offsetInBytes) native "Ffi_loadIntPtr";
+int _loadIntPtr(Object typedDataBase, int offsetInBytes)
+    native "Ffi_loadIntPtr";
 
 @pragma("vm:recognized", "other")
-double _loadFloat(Pointer pointer, int offsetInBytes) native "Ffi_loadFloat";
+double _loadFloat(Object typedDataBase, int offsetInBytes)
+    native "Ffi_loadFloat";
 
 @pragma("vm:recognized", "other")
-double _loadDouble(Pointer pointer, int offsetInBytes) native "Ffi_loadDouble";
+double _loadDouble(Object typedDataBase, int offsetInBytes)
+    native "Ffi_loadDouble";
 
 @pragma("vm:recognized", "other")
 Pointer<S> _loadPointer<S extends NativeType>(
-    Pointer pointer, int offsetInBytes) native "Ffi_loadPointer";
+    Object typedDataBase, int offsetInBytes) native "Ffi_loadPointer";
 
 @pragma("vm:recognized", "other")
-void _storeInt8(Pointer pointer, int offsetInBytes, int value)
+void _storeInt8(Object typedDataBase, int offsetInBytes, int value)
     native "Ffi_storeInt8";
 
 @pragma("vm:recognized", "other")
-void _storeInt16(Pointer pointer, int offsetInBytes, int value)
+void _storeInt16(Object typedDataBase, int offsetInBytes, int value)
     native "Ffi_storeInt16";
 
 @pragma("vm:recognized", "other")
-void _storeInt32(Pointer pointer, int offsetInBytes, int value)
+void _storeInt32(Object typedDataBase, int offsetInBytes, int value)
     native "Ffi_storeInt32";
 
 @pragma("vm:recognized", "other")
-void _storeInt64(Pointer pointer, int offsetInBytes, int value)
+void _storeInt64(Object typedDataBase, int offsetInBytes, int value)
     native "Ffi_storeInt64";
 
 @pragma("vm:recognized", "other")
-void _storeUint8(Pointer pointer, int offsetInBytes, int value)
+void _storeUint8(Object typedDataBase, int offsetInBytes, int value)
     native "Ffi_storeUint8";
 
 @pragma("vm:recognized", "other")
-void _storeUint16(Pointer pointer, int offsetInBytes, int value)
+void _storeUint16(Object typedDataBase, int offsetInBytes, int value)
     native "Ffi_storeUint16";
 
 @pragma("vm:recognized", "other")
-void _storeUint32(Pointer pointer, int offsetInBytes, int value)
+void _storeUint32(Object typedDataBase, int offsetInBytes, int value)
     native "Ffi_storeUint32";
 
 @pragma("vm:recognized", "other")
-void _storeUint64(Pointer pointer, int offsetInBytes, int value)
+void _storeUint64(Object typedDataBase, int offsetInBytes, int value)
     native "Ffi_storeUint64";
 
 @pragma("vm:recognized", "other")
-void _storeIntPtr(Pointer pointer, int offsetInBytes, int value)
+void _storeIntPtr(Object typedDataBase, int offsetInBytes, int value)
     native "Ffi_storeIntPtr";
 
 @pragma("vm:recognized", "other")
-void _storeFloat(Pointer pointer, int offsetInBytes, double value)
+void _storeFloat(Object typedDataBase, int offsetInBytes, double value)
     native "Ffi_storeFloat";
 
 @pragma("vm:recognized", "other")
-void _storeDouble(Pointer pointer, int offsetInBytes, double value)
+void _storeDouble(Object typedDataBase, int offsetInBytes, double value)
     native "Ffi_storeDouble";
 
 @pragma("vm:recognized", "other")
-void _storePointer<S extends NativeType>(Pointer pointer, int offsetInBytes,
-    Pointer<S> value) native "Ffi_storePointer";
+void _storePointer<S extends NativeType>(Object typedDataBase,
+    int offsetInBytes, Pointer<S> value) native "Ffi_storePointer";
 
 Pointer<Int8> _elementAtInt8(Pointer<Int8> pointer, int index) =>
     Pointer.fromAddress(pointer.address + 1 * index);
diff --git a/tools/VERSION b/tools/VERSION
index ffe0133..75028e0 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 13
 PATCH 0
-PRERELEASE 19
+PRERELEASE 20
 PRERELEASE_PATCH 0
\ No newline at end of file