Chromium Code Reviews| Index: runtime/vm/dart_api_impl.cc |
| diff --git a/runtime/vm/dart_api_impl.cc b/runtime/vm/dart_api_impl.cc |
| index 385b4ec62b27942c9ab78312c738a4d635ade4ca..b09407364f8de27bb9ffb968e792ba3e1e3e9bda 100644 |
| --- a/runtime/vm/dart_api_impl.cc |
| +++ b/runtime/vm/dart_api_impl.cc |
| @@ -1653,9 +1653,6 @@ DART_EXPORT Dart_Handle Dart_ListLength(Dart_Handle list, intptr_t* len) { |
| Isolate* isolate = Isolate::Current(); |
| DARTSCOPE(isolate); |
| const Object& obj = Object::Handle(isolate, Api::UnwrapHandle(list)); |
| - if (obj.IsByteArray()) { |
|
Ivan Posva
2012/05/02 08:19:17
You should preserve support for fast handling of b
cshapiro
2012/05/03 04:01:50
Done. Restored. I think this case is easy to kee
|
| - GET_LIST_LENGTH(isolate, ByteArray, obj, len); |
| - } |
| if (obj.IsArray()) { |
| GET_LIST_LENGTH(isolate, Array, obj, len); |
| } |
| @@ -1827,15 +1824,6 @@ DART_EXPORT Dart_Handle Dart_ListGetAsBytes(Dart_Handle list, |
| Isolate* isolate = Isolate::Current(); |
| DARTSCOPE(isolate); |
| const Object& obj = Object::Handle(isolate, Api::UnwrapHandle(list)); |
| - if (obj.IsByteArray()) { |
|
Ivan Posva
2012/05/02 08:19:17
ditto.
cshapiro
2012/05/03 04:01:50
I will make this work for the Uint8Array types. I
|
| - ByteArray& byte_array = ByteArray::Handle(isolate); |
| - byte_array ^= obj.raw(); |
| - if (Utils::RangeCheck(offset, length, byte_array.Length())) { |
| - ByteArray::Copy(native_array, byte_array, offset, length); |
| - return Api::Success(isolate); |
| - } |
| - return Api::NewError("Invalid length passed in to access list elements"); |
| - } |
| if (obj.IsArray()) { |
| GET_LIST_ELEMENT_AS_BYTES(isolate, |
| Array, |
| @@ -1911,15 +1899,6 @@ DART_EXPORT Dart_Handle Dart_ListSetAsBytes(Dart_Handle list, |
| Isolate* isolate = Isolate::Current(); |
| DARTSCOPE(isolate); |
| const Object& obj = Object::Handle(isolate, Api::UnwrapHandle(list)); |
| - if (obj.IsByteArray()) { |
|
Ivan Posva
2012/05/02 08:19:17
ditto.
cshapiro
2012/05/03 04:01:50
Sure, with the same limitations as above.
|
| - ByteArray& byte_array = ByteArray::Handle(isolate); |
| - byte_array ^= obj.raw(); |
| - if (Utils::RangeCheck(offset, length, byte_array.Length())) { |
| - ByteArray::Copy(byte_array, offset, native_array, length); |
| - return Api::Success(isolate); |
| - } |
| - return Api::NewError("Invalid length passed in to set list elements"); |
| - } |
| if (obj.IsArray()) { |
| if (obj.IsImmutableArray()) { |
| return Api::NewError("Cannot modify immutable array"); |
| @@ -1986,7 +1965,7 @@ DART_EXPORT bool Dart_IsByteArray(Dart_Handle object) { |
| DART_EXPORT Dart_Handle Dart_NewByteArray(intptr_t length) { |
| Isolate* isolate = Isolate::Current(); |
| DARTSCOPE(isolate); |
| - return Api::NewHandle(isolate, InternalByteArray::New(length)); |
| + return Api::NewHandle(isolate, Uint8Array::New(length)); |
| } |
| @@ -2005,7 +1984,7 @@ DART_EXPORT Dart_Handle Dart_NewExternalByteArray(uint8_t* data, |
| CURRENT_FUNC); |
| } |
| return Api::NewHandle( |
| - isolate, ExternalByteArray::New(data, length, peer, callback)); |
| + isolate, ExternalUint8Array::New(data, length, peer, callback)); |
| } |
| @@ -2013,10 +1992,10 @@ DART_EXPORT Dart_Handle Dart_ExternalByteArrayGetPeer(Dart_Handle object, |
| void** peer) { |
| Isolate* isolate = Isolate::Current(); |
| DARTSCOPE(isolate); |
| - const ExternalByteArray& array = |
| - Api::UnwrapExternalByteArrayHandle(isolate, object); |
| + const ExternalUint8Array& array = |
| + Api::UnwrapExternalUint8ArrayHandle(isolate, object); |
| if (array.IsNull()) { |
| - RETURN_TYPE_ERROR(isolate, object, ExternalByteArray); |
| + RETURN_TYPE_ERROR(isolate, object, ExternalUint8Array); |
| } |
| if (peer == NULL) { |
| return Api::NewError("%s expects argument 'peer' to be non-null.", |
| @@ -2036,7 +2015,7 @@ Dart_Handle ByteArrayGetAt(T* value, Dart_Handle array, intptr_t offset) { |
| RETURN_TYPE_ERROR(isolate, array, ByteArray); |
| } |
| intptr_t length = sizeof(T); |
| - if (!Utils::RangeCheck(offset, length, array_obj.Length())) { |
| + if (!Utils::RangeCheck(offset, length, array_obj.ByteLength())) { |
| return Api::NewError("Invalid index passed in to get byte array element"); |
| } |
| uint8_t* dst = reinterpret_cast<uint8_t*>(value); |
| @@ -2054,7 +2033,7 @@ Dart_Handle ByteArraySetAt(Dart_Handle array, intptr_t offset, T value) { |
| RETURN_TYPE_ERROR(isolate, array, ByteArray); |
| } |
| intptr_t length = sizeof(T); |
| - if (!Utils::RangeCheck(offset, length, array_obj.Length())) { |
| + if (!Utils::RangeCheck(offset, length, array_obj.ByteLength())) { |
| return Api::NewError("Invalid index passed in to get byte array element"); |
| } |
| const uint8_t* src = reinterpret_cast<uint8_t*>(&value); |
| @@ -2064,142 +2043,142 @@ Dart_Handle ByteArraySetAt(Dart_Handle array, intptr_t offset, T value) { |
| DART_EXPORT Dart_Handle Dart_ByteArrayGetInt8At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| int8_t* value) { |
| - return ByteArrayGetAt(value, array, offset); |
| + return ByteArrayGetAt(value, array, byte_offset); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArraySetInt8At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| int8_t value) { |
| - return ByteArraySetAt(array, offset, value); |
| + return ByteArraySetAt(array, byte_offset, value); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArrayGetUint8At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| uint8_t* value) { |
| - return ByteArrayGetAt(value, array, offset); |
| + return ByteArrayGetAt(value, array, byte_offset); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArraySetUint8At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| uint8_t value) { |
| - return ByteArraySetAt(array, offset, value); |
| + return ByteArraySetAt(array, byte_offset, value); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArrayGetInt16At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| int16_t* value) { |
| - return ByteArrayGetAt(value, array, offset); |
| + return ByteArrayGetAt(value, array, byte_offset); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArraySetInt16At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| int16_t value) { |
| - return ByteArraySetAt(array, offset, value); |
| + return ByteArraySetAt(array, byte_offset, value); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArrayGetUint16At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| uint16_t* value) { |
| - return ByteArrayGetAt(value, array, offset); |
| + return ByteArrayGetAt(value, array, byte_offset); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArraySetUint16At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| uint16_t value) { |
| - return ByteArraySetAt(array, offset, value); |
| + return ByteArraySetAt(array, byte_offset, value); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArrayGetInt32At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| int32_t* value) { |
| - return ByteArrayGetAt(value, array, offset); |
| + return ByteArrayGetAt(value, array, byte_offset); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArraySetInt32At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| int32_t value) { |
| - return ByteArraySetAt(array, offset, value); |
| + return ByteArraySetAt(array, byte_offset, value); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArrayGetUint32At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| uint32_t* value) { |
| - return ByteArrayGetAt(value, array, offset); |
| + return ByteArrayGetAt(value, array, byte_offset); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArraySetUint32At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| uint32_t value) { |
| - return ByteArraySetAt(array, offset, value); |
| + return ByteArraySetAt(array, byte_offset, value); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArrayGetInt64At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| int64_t* value) { |
| - return ByteArrayGetAt(value, array, offset); |
| + return ByteArrayGetAt(value, array, byte_offset); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArraySetInt64At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| int64_t value) { |
| - return ByteArraySetAt(array, offset, value); |
| + return ByteArraySetAt(array, byte_offset, value); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArrayGetUint64At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| uint64_t* value) { |
| - return ByteArrayGetAt(value, array, offset); |
| + return ByteArrayGetAt(value, array, byte_offset); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArraySetUint64At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| uint64_t value) { |
| - return ByteArraySetAt(array, offset, value); |
| + return ByteArraySetAt(array, byte_offset, value); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArrayGetFloat32At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| float* value) { |
| - return ByteArrayGetAt(value, array, offset); |
| + return ByteArrayGetAt(value, array, byte_offset); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArraySetFloat32At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| float value) { |
| - return ByteArraySetAt(array, offset, value); |
| + return ByteArraySetAt(array, byte_offset, value); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArrayGetFloat64At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| double* value) { |
| - return ByteArrayGetAt(value, array, offset); |
| + return ByteArrayGetAt(value, array, byte_offset); |
| } |
| DART_EXPORT Dart_Handle Dart_ByteArraySetFloat64At(Dart_Handle array, |
| - intptr_t offset, |
| + intptr_t byte_offset, |
| double value) { |
| - return ByteArraySetAt(array, offset, value); |
| + return ByteArraySetAt(array, byte_offset, value); |
| } |