@@ -1132,33 +1132,26 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_TypedArrayInitializeFromArrayLike) {
11321132}
11331133
11341134
1135- #define TYPED_ARRAY_GETTER( getter, accessor) \
1136- RUNTIME_FUNCTION(MaybeObject*, Runtime_TypedArrayGet## getter) { \
1135+ #define BUFFER_VIEW_GETTER(Type, getter, accessor) \
1136+ RUNTIME_FUNCTION(MaybeObject*, Runtime_##Type##Get## getter) { \
11371137 HandleScope scope(isolate); \
11381138 ASSERT(args.length() == 1); \
1139- CONVERT_ARG_HANDLE_CHECKED(Object, holder, 0); \
1140- if (!holder->IsJSTypedArray()) \
1141- return isolate->Throw(*isolate->factory()->NewTypeError( \
1142- "not_typed_array", HandleVector<Object>(NULL, 0))); \
1143- Handle<JSTypedArray> typed_array(JSTypedArray::cast(*holder)); \
1144- return typed_array->accessor(); \
1139+ CONVERT_ARG_HANDLE_CHECKED(JS##Type, holder, 0); \
1140+ return holder->accessor(); \
11451141 }
11461142
1147- TYPED_ARRAY_GETTER(ByteLength, byte_length)
1148- TYPED_ARRAY_GETTER(ByteOffset, byte_offset)
1149- TYPED_ARRAY_GETTER(Length, length)
1143+ BUFFER_VIEW_GETTER(ArrayBufferView, ByteLength, byte_length)
1144+ BUFFER_VIEW_GETTER(ArrayBufferView, ByteOffset, byte_offset)
1145+ BUFFER_VIEW_GETTER(TypedArray, Length, length)
1146+ BUFFER_VIEW_GETTER(DataView, Buffer, buffer)
11501147
1151- #undef TYPED_ARRAY_GETTER
1148+ #undef BUFFER_VIEW_GETTER
11521149
11531150RUNTIME_FUNCTION(MaybeObject*, Runtime_TypedArrayGetBuffer) {
11541151 HandleScope scope(isolate);
11551152 ASSERT(args.length() == 1);
1156- CONVERT_ARG_HANDLE_CHECKED(Object, holder, 0);
1157- if (!holder->IsJSTypedArray())
1158- return isolate->Throw(*isolate->factory()->NewTypeError(
1159- "not_typed_array", HandleVector<Object>(NULL, 0)));
1160- Handle<JSTypedArray> typed_array(JSTypedArray::cast(*holder));
1161- return *typed_array->GetBuffer();
1153+ CONVERT_ARG_HANDLE_CHECKED(JSTypedArray, holder, 0);
1154+ return *holder->GetBuffer();
11621155}
11631156
11641157
@@ -1273,30 +1266,6 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DataViewInitialize) {
12731266}
12741267
12751268
1276- RUNTIME_FUNCTION(MaybeObject*, Runtime_DataViewGetBuffer) {
1277- HandleScope scope(isolate);
1278- ASSERT(args.length() == 1);
1279- CONVERT_ARG_HANDLE_CHECKED(JSDataView, data_view, 0);
1280- return data_view->buffer();
1281- }
1282-
1283-
1284- RUNTIME_FUNCTION(MaybeObject*, Runtime_DataViewGetByteOffset) {
1285- HandleScope scope(isolate);
1286- ASSERT(args.length() == 1);
1287- CONVERT_ARG_HANDLE_CHECKED(JSDataView, data_view, 0);
1288- return data_view->byte_offset();
1289- }
1290-
1291-
1292- RUNTIME_FUNCTION(MaybeObject*, Runtime_DataViewGetByteLength) {
1293- HandleScope scope(isolate);
1294- ASSERT(args.length() == 1);
1295- CONVERT_ARG_HANDLE_CHECKED(JSDataView, data_view, 0);
1296- return data_view->byte_length();
1297- }
1298-
1299-
13001269inline static bool NeedToFlipBytes(bool is_little_endian) {
13011270#ifdef V8_TARGET_LITTLE_ENDIAN
13021271 return !is_little_endian;
0 commit comments