| Index: runtime/lib/typeddata.dart
|
| diff --git a/runtime/lib/typeddata.dart b/runtime/lib/typeddata.dart
|
| index 32551d32c21dd183adf53c5ab17783a19aeff945..2cf2873c7ad60fca6176450f8101321a6aa5a9cd 100644
|
| --- a/runtime/lib/typeddata.dart
|
| +++ b/runtime/lib/typeddata.dart
|
| @@ -9,6 +9,10 @@ patch class Int8List {
|
| return new _Int8Array(length);
|
| }
|
|
|
| + /* patch */ factory Int8List.transferable(int length) {
|
| + return _newTransferable(length);
|
| + }
|
| +
|
| /* patch */ factory Int8List.fromList(List<int> elements) {
|
| var result = new _Int8Array(elements.length);
|
| for (int i = 0; i < elements.length; i++) {
|
| @@ -21,6 +25,10 @@ patch class Int8List {
|
| [int offsetInBytes = 0, int length]) {
|
| return new _Int8ArrayView(buffer, offsetInBytes, length);
|
| }
|
| +
|
| + static _ExternalInt8Array _newTransferable(int length) {
|
| + return new _ExternalInt8Array(length);
|
| + }
|
| }
|
|
|
|
|
| @@ -29,6 +37,10 @@ patch class Uint8List {
|
| return new _Uint8Array(length);
|
| }
|
|
|
| + /* patch */ factory Uint8List.transferable(int length) {
|
| + return _newTransferable(length);
|
| + }
|
| +
|
| /* patch */ factory Uint8List.fromList(List<int> elements) {
|
| var result = new _Uint8Array(elements.length);
|
| for (int i = 0; i < elements.length; i++) {
|
| @@ -41,6 +53,10 @@ patch class Uint8List {
|
| [int offsetInBytes = 0, int length]) {
|
| return new _Uint8ArrayView(buffer, offsetInBytes, length);
|
| }
|
| +
|
| + static _ExternalUint8Array _newTransferable(int length) {
|
| + return new _ExternalUint8Array(length);
|
| + }
|
| }
|
|
|
|
|
| @@ -49,6 +65,10 @@ patch class Uint8ClampedList {
|
| return new _Uint8ClampedArray(length);
|
| }
|
|
|
| + /* patch */ factory Uint8ClampedList.transferable(int length) {
|
| + return _newTransferable(length);
|
| + }
|
| +
|
| /* patch */ factory Uint8ClampedList.fromList(List<int> elements) {
|
| var result = new _Uint8ClampedArray(elements.length);
|
| for (int i = 0; i < elements.length; i++) {
|
| @@ -62,6 +82,10 @@ patch class Uint8ClampedList {
|
| int length]) {
|
| return new _Uint8ClampedArrayView(buffer, offsetInBytes, length);
|
| }
|
| +
|
| + static _ExternalUint8ClampedArray _newTransferable(int length) {
|
| + return new _ExternalUint8ClampedArray(length);
|
| + }
|
| }
|
|
|
|
|
| @@ -70,6 +94,10 @@ patch class Int16List {
|
| return new _Int16Array(length);
|
| }
|
|
|
| + /* patch */ factory Int16List.transferable(int length) {
|
| + return _newTransferable(length);
|
| + }
|
| +
|
| /* patch */ factory Int16List.fromList(List<int> elements) {
|
| var result = new _Int16Array(elements.length);
|
| for (int i = 0; i < elements.length; i++) {
|
| @@ -82,6 +110,10 @@ patch class Int16List {
|
| [int offsetInBytes = 0, int length]) {
|
| return new _Int16ArrayView(buffer, offsetInBytes, length);
|
| }
|
| +
|
| + static _ExternalInt16Array _newTransferable(int length) {
|
| + return new _ExternalInt16Array(length);
|
| + }
|
| }
|
|
|
|
|
| @@ -90,6 +122,10 @@ patch class Uint16List {
|
| return new _Uint16Array(length);
|
| }
|
|
|
| + /* patch */ factory Uint16List.transferable(int length) {
|
| + return _newTransferable(length);
|
| + }
|
| +
|
| /* patch */ factory Uint16List.fromList(List<int> elements) {
|
| var result = new _Uint16Array(elements.length);
|
| for (int i = 0; i < elements.length; i++) {
|
| @@ -102,6 +138,10 @@ patch class Uint16List {
|
| [int offsetInBytes = 0, int length]) {
|
| return new _Uint16ArrayView(buffer, offsetInBytes, length);
|
| }
|
| +
|
| + static _ExternalUint16Array _newTransferable(int length) {
|
| + return new _ExternalUint16Array(length);
|
| + }
|
| }
|
|
|
|
|
| @@ -110,6 +150,10 @@ patch class Int32List {
|
| return new _Int32Array(length);
|
| }
|
|
|
| + /* patch */ factory Int32List.transferable(int length) {
|
| + return _newTransferable(length);
|
| + }
|
| +
|
| /* patch */ factory Int32List.fromList(List<int> elements) {
|
| var result = new _Int32Array(elements.length);
|
| for (int i = 0; i < elements.length; i++) {
|
| @@ -122,6 +166,10 @@ patch class Int32List {
|
| [int offsetInBytes = 0, int length]) {
|
| return new _Int32ArrayView(buffer, offsetInBytes, length);
|
| }
|
| +
|
| + static _ExternalInt32Array _newTransferable(int length) {
|
| + return new _ExternalInt32Array(length);
|
| + }
|
| }
|
|
|
|
|
| @@ -130,6 +178,10 @@ patch class Uint32List {
|
| return new _Uint32Array(length);
|
| }
|
|
|
| + /* patch */ factory Uint32List.transferable(int length) {
|
| + return _newTransferable(length);
|
| + }
|
| +
|
| /* patch */ factory Uint32List.fromList(List<int> elements) {
|
| var result = new _Uint32Array(elements.length);
|
| for (int i = 0; i < elements.length; i++) {
|
| @@ -142,6 +194,10 @@ patch class Uint32List {
|
| [int offsetInBytes = 0, int length]) {
|
| return new _Uint32ArrayView(buffer, offsetInBytes, length);
|
| }
|
| +
|
| + static _ExternalUint32Array _newTransferable(int length) {
|
| + return new _ExternalUint32Array(length);
|
| + }
|
| }
|
|
|
|
|
| @@ -150,6 +206,10 @@ patch class Int64List {
|
| return new _Int64Array(length);
|
| }
|
|
|
| + /* patch */ factory Int64List.transferable(int length) {
|
| + return _newTransferable(length);
|
| + }
|
| +
|
| /* patch */ factory Int64List.fromList(List<int> elements) {
|
| var result = new _Int64Array(elements.length);
|
| for (int i = 0; i < elements.length; i++) {
|
| @@ -162,6 +222,10 @@ patch class Int64List {
|
| [int offsetInBytes = 0, int length]) {
|
| return new _Int64ArrayView(buffer, offsetInBytes, length);
|
| }
|
| +
|
| + static _ExternalInt64Array _newTransferable(int length) {
|
| + return new _ExternalInt64Array(length);
|
| + }
|
| }
|
|
|
|
|
| @@ -170,6 +234,10 @@ patch class Uint64List {
|
| return new _Uint64Array(length);
|
| }
|
|
|
| + /* patch */ factory Uint64List.transferable(int length) {
|
| + return _newTransferable(length);
|
| + }
|
| +
|
| /* patch */ factory Uint64List.fromList(List<int> elements) {
|
| var result = new _Uint64Array(elements.length);
|
| for (int i = 0; i < elements.length; i++) {
|
| @@ -182,6 +250,10 @@ patch class Uint64List {
|
| [int offsetInBytes = 0, int length]) {
|
| return new _Uint64ArrayView(buffer, offsetInBytes, length);
|
| }
|
| +
|
| + static _ExternalUint64Array _newTransferable(int length) {
|
| + return new _ExternalUint64Array(length);
|
| + }
|
| }
|
|
|
|
|
| @@ -190,6 +262,10 @@ patch class Float32List {
|
| return new _Float32Array(length);
|
| }
|
|
|
| + /* patch */ factory Float32List.transferable(int length) {
|
| + return _newTransferable(length);
|
| + }
|
| +
|
| /* patch */ factory Float32List.fromList(List<double> elements) {
|
| var result = new _Float32Array(elements.length);
|
| for (int i = 0; i < elements.length; i++) {
|
| @@ -202,6 +278,10 @@ patch class Float32List {
|
| [int offsetInBytes = 0, int length]) {
|
| return new _Float32ArrayView(buffer, offsetInBytes, length);
|
| }
|
| +
|
| + static _ExternalFloat32Array _newTransferable(int length) {
|
| + return new _ExternalFloat32Array(length);
|
| + }
|
| }
|
|
|
|
|
| @@ -210,6 +290,10 @@ patch class Float64List {
|
| return new _Float64Array(length);
|
| }
|
|
|
| + /* patch */ factory Float64List.transferable(int length) {
|
| + return _newTransferable(length);
|
| + }
|
| +
|
| /* patch */ factory Float64List.fromList(List<double> elements) {
|
| var result = new _Float64Array(elements.length);
|
| for (int i = 0; i < elements.length; i++) {
|
| @@ -222,6 +306,10 @@ patch class Float64List {
|
| [int offsetInBytes = 0, int length]) {
|
| return new _Float64ArrayView(buffer, offsetInBytes, length);
|
| }
|
| +
|
| + static _ExternalFloat64Array _newTransferable(int length) {
|
| + return new _ExternalFloat64Array(length);
|
| + }
|
| }
|
|
|
| patch class Float32x4List {
|
| @@ -229,10 +317,18 @@ patch class Float32x4List {
|
| return new _Float32x4Array(length);
|
| }
|
|
|
| + /* patch */ factory Float32x4List.transferable(int length) {
|
| + return _newTransferable(length);
|
| + }
|
| +
|
| /* patch */ factory Float32x4List.view(ByteBuffer buffer,
|
| [int offsetInBytes = 0, int length]) {
|
| return new _Float32x4ArrayView(buffer, offsetInBytes, length);
|
| }
|
| +
|
| + static _ExternalFloat32x4Array _newTransferable(int length) {
|
| + return new _ExternalFloat32x4Array(length);
|
| + }
|
| }
|
|
|
|
|
| @@ -262,6 +358,11 @@ patch class ByteData {
|
| return new _ByteDataView(list.buffer, 0, length);
|
| }
|
|
|
| + /* patch */ factory ByteData.transferable(int length) {
|
| + var list = new _Uint8Array.transferable(length);
|
| + return new _ByteDataView(list.buffer, 0, length);
|
| + }
|
| +
|
| /* patch */ factory ByteData.view(ByteBuffer buffer,
|
| [int offsetInBytes = 0, int length]) {
|
| if (length == null) {
|
|
|