Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(34)

Unified Diff: runtime/lib/typeddata.dart

Issue 14130010: Revert "Remove typeddata transferable constructors" (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tests/lib/typeddata/float32x4_list_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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) {
« no previous file with comments | « no previous file | tests/lib/typeddata/float32x4_list_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698