| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 14131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14142 for (int i = 0; i < kElementCount; i++) { | 14142 for (int i = 0; i < kElementCount; i++) { |
| 14143 data[i] = static_cast<ElementType>(i); | 14143 data[i] = static_cast<ElementType>(i); |
| 14144 } | 14144 } |
| 14145 | 14145 |
| 14146 ObjectWithExternalArrayTestHelper<ExternalArrayClass, ElementType>( | 14146 ObjectWithExternalArrayTestHelper<ExternalArrayClass, ElementType>( |
| 14147 env.local(), ta, kElementCount, array_type, low, high); | 14147 env.local(), ta, kElementCount, array_type, low, high); |
| 14148 } | 14148 } |
| 14149 | 14149 |
| 14150 | 14150 |
| 14151 THREADED_TEST(Uint8Array) { | 14151 THREADED_TEST(Uint8Array) { |
| 14152 TypedArrayTestHelper<uint8_t, v8::Uint8Array, i::FixedUint8Array, | 14152 TypedArrayTestHelper<uint8_t, v8::Uint8Array, i::ExternalUint8Array, |
| 14153 v8::ArrayBuffer>(i::kExternalUint8Array, 0, 0xFF); | 14153 v8::ArrayBuffer>(i::kExternalUint8Array, 0, 0xFF); |
| 14154 } | 14154 } |
| 14155 | 14155 |
| 14156 | 14156 |
| 14157 THREADED_TEST(Int8Array) { | 14157 THREADED_TEST(Int8Array) { |
| 14158 TypedArrayTestHelper<int8_t, v8::Int8Array, i::FixedInt8Array, | 14158 TypedArrayTestHelper<int8_t, v8::Int8Array, i::ExternalInt8Array, |
| 14159 v8::ArrayBuffer>(i::kExternalInt8Array, -0x80, 0x7F); | 14159 v8::ArrayBuffer>(i::kExternalInt8Array, -0x80, 0x7F); |
| 14160 } | 14160 } |
| 14161 | 14161 |
| 14162 | 14162 |
| 14163 THREADED_TEST(Uint16Array) { | 14163 THREADED_TEST(Uint16Array) { |
| 14164 TypedArrayTestHelper<uint16_t, v8::Uint16Array, i::FixedUint16Array, | 14164 TypedArrayTestHelper<uint16_t, v8::Uint16Array, i::ExternalUint16Array, |
| 14165 v8::ArrayBuffer>(i::kExternalUint16Array, 0, 0xFFFF); | 14165 v8::ArrayBuffer>(i::kExternalUint16Array, 0, 0xFFFF); |
| 14166 } | 14166 } |
| 14167 | 14167 |
| 14168 | 14168 |
| 14169 THREADED_TEST(Int16Array) { | 14169 THREADED_TEST(Int16Array) { |
| 14170 TypedArrayTestHelper<int16_t, v8::Int16Array, i::FixedInt16Array, | 14170 TypedArrayTestHelper<int16_t, v8::Int16Array, i::ExternalInt16Array, |
| 14171 v8::ArrayBuffer>(i::kExternalInt16Array, -0x8000, | 14171 v8::ArrayBuffer>(i::kExternalInt16Array, -0x8000, |
| 14172 0x7FFF); | 14172 0x7FFF); |
| 14173 } | 14173 } |
| 14174 | 14174 |
| 14175 | 14175 |
| 14176 THREADED_TEST(Uint32Array) { | 14176 THREADED_TEST(Uint32Array) { |
| 14177 TypedArrayTestHelper<uint32_t, v8::Uint32Array, i::FixedUint32Array, | 14177 TypedArrayTestHelper<uint32_t, v8::Uint32Array, i::ExternalUint32Array, |
| 14178 v8::ArrayBuffer>(i::kExternalUint32Array, 0, UINT_MAX); | 14178 v8::ArrayBuffer>(i::kExternalUint32Array, 0, UINT_MAX); |
| 14179 } | 14179 } |
| 14180 | 14180 |
| 14181 | 14181 |
| 14182 THREADED_TEST(Int32Array) { | 14182 THREADED_TEST(Int32Array) { |
| 14183 TypedArrayTestHelper<int32_t, v8::Int32Array, i::FixedInt32Array, | 14183 TypedArrayTestHelper<int32_t, v8::Int32Array, i::ExternalInt32Array, |
| 14184 v8::ArrayBuffer>(i::kExternalInt32Array, INT_MIN, | 14184 v8::ArrayBuffer>(i::kExternalInt32Array, INT_MIN, |
| 14185 INT_MAX); | 14185 INT_MAX); |
| 14186 } | 14186 } |
| 14187 | 14187 |
| 14188 | 14188 |
| 14189 THREADED_TEST(Float32Array) { | 14189 THREADED_TEST(Float32Array) { |
| 14190 TypedArrayTestHelper<float, v8::Float32Array, i::FixedFloat32Array, | 14190 TypedArrayTestHelper<float, v8::Float32Array, i::ExternalFloat32Array, |
| 14191 v8::ArrayBuffer>(i::kExternalFloat32Array, -500, 500); | 14191 v8::ArrayBuffer>(i::kExternalFloat32Array, -500, 500); |
| 14192 } | 14192 } |
| 14193 | 14193 |
| 14194 | 14194 |
| 14195 THREADED_TEST(Float64Array) { | 14195 THREADED_TEST(Float64Array) { |
| 14196 TypedArrayTestHelper<double, v8::Float64Array, i::FixedFloat64Array, | 14196 TypedArrayTestHelper<double, v8::Float64Array, i::ExternalFloat64Array, |
| 14197 v8::ArrayBuffer>(i::kExternalFloat64Array, -500, 500); | 14197 v8::ArrayBuffer>(i::kExternalFloat64Array, -500, 500); |
| 14198 } | 14198 } |
| 14199 | 14199 |
| 14200 | 14200 |
| 14201 THREADED_TEST(Uint8ClampedArray) { | 14201 THREADED_TEST(Uint8ClampedArray) { |
| 14202 TypedArrayTestHelper<uint8_t, v8::Uint8ClampedArray, | 14202 TypedArrayTestHelper<uint8_t, v8::Uint8ClampedArray, |
| 14203 i::FixedUint8ClampedArray, v8::ArrayBuffer>( | 14203 i::ExternalUint8ClampedArray, v8::ArrayBuffer>( |
| 14204 i::kExternalUint8ClampedArray, 0, 0xFF); | 14204 i::kExternalUint8ClampedArray, 0, 0xFF); |
| 14205 } | 14205 } |
| 14206 | 14206 |
| 14207 | 14207 |
| 14208 THREADED_TEST(DataView) { | 14208 THREADED_TEST(DataView) { |
| 14209 const int kSize = 50; | 14209 const int kSize = 50; |
| 14210 | 14210 |
| 14211 i::ScopedVector<uint8_t> backing_store(kSize+2); | 14211 i::ScopedVector<uint8_t> backing_store(kSize+2); |
| 14212 | 14212 |
| 14213 LocalContext env; | 14213 LocalContext env; |
| 14214 v8::Isolate* isolate = env->GetIsolate(); | 14214 v8::Isolate* isolate = env->GetIsolate(); |
| 14215 v8::HandleScope handle_scope(isolate); | 14215 v8::HandleScope handle_scope(isolate); |
| 14216 | 14216 |
| 14217 Local<v8::ArrayBuffer> ab = | 14217 Local<v8::ArrayBuffer> ab = |
| 14218 v8::ArrayBuffer::New(isolate, backing_store.start(), 2 + kSize); | 14218 v8::ArrayBuffer::New(isolate, backing_store.start(), 2 + kSize); |
| 14219 Local<v8::DataView> dv = v8::DataView::New(ab, 2, kSize); | 14219 Local<v8::DataView> dv = v8::DataView::New(ab, 2, kSize); |
| 14220 CheckInternalFieldsAreZero<v8::ArrayBufferView>(dv); | 14220 CheckInternalFieldsAreZero<v8::ArrayBufferView>(dv); |
| 14221 CHECK_EQ(2u, dv->ByteOffset()); | 14221 CHECK_EQ(2u, dv->ByteOffset()); |
| 14222 CHECK_EQ(kSize, static_cast<int>(dv->ByteLength())); | 14222 CHECK_EQ(kSize, static_cast<int>(dv->ByteLength())); |
| 14223 CHECK(ab->Equals(dv->Buffer())); | 14223 CHECK(ab->Equals(dv->Buffer())); |
| 14224 } | 14224 } |
| 14225 | 14225 |
| 14226 | 14226 |
| 14227 THREADED_TEST(SharedUint8Array) { | 14227 THREADED_TEST(SharedUint8Array) { |
| 14228 i::FLAG_harmony_sharedarraybuffer = true; | 14228 i::FLAG_harmony_sharedarraybuffer = true; |
| 14229 TypedArrayTestHelper<uint8_t, v8::Uint8Array, i::FixedUint8Array, | 14229 TypedArrayTestHelper<uint8_t, v8::Uint8Array, i::ExternalUint8Array, |
| 14230 v8::SharedArrayBuffer>(i::kExternalUint8Array, 0, 0xFF); | 14230 v8::SharedArrayBuffer>(i::kExternalUint8Array, 0, 0xFF); |
| 14231 } | 14231 } |
| 14232 | 14232 |
| 14233 | 14233 |
| 14234 THREADED_TEST(SharedInt8Array) { | 14234 THREADED_TEST(SharedInt8Array) { |
| 14235 i::FLAG_harmony_sharedarraybuffer = true; | 14235 i::FLAG_harmony_sharedarraybuffer = true; |
| 14236 TypedArrayTestHelper<int8_t, v8::Int8Array, i::FixedInt8Array, | 14236 TypedArrayTestHelper<int8_t, v8::Int8Array, i::ExternalInt8Array, |
| 14237 v8::SharedArrayBuffer>(i::kExternalInt8Array, -0x80, | 14237 v8::SharedArrayBuffer>(i::kExternalInt8Array, -0x80, |
| 14238 0x7F); | 14238 0x7F); |
| 14239 } | 14239 } |
| 14240 | 14240 |
| 14241 | 14241 |
| 14242 THREADED_TEST(SharedUint16Array) { | 14242 THREADED_TEST(SharedUint16Array) { |
| 14243 i::FLAG_harmony_sharedarraybuffer = true; | 14243 i::FLAG_harmony_sharedarraybuffer = true; |
| 14244 TypedArrayTestHelper<uint16_t, v8::Uint16Array, i::FixedUint16Array, | 14244 TypedArrayTestHelper<uint16_t, v8::Uint16Array, i::ExternalUint16Array, |
| 14245 v8::SharedArrayBuffer>(i::kExternalUint16Array, 0, | 14245 v8::SharedArrayBuffer>(i::kExternalUint16Array, 0, |
| 14246 0xFFFF); | 14246 0xFFFF); |
| 14247 } | 14247 } |
| 14248 | 14248 |
| 14249 | 14249 |
| 14250 THREADED_TEST(SharedInt16Array) { | 14250 THREADED_TEST(SharedInt16Array) { |
| 14251 i::FLAG_harmony_sharedarraybuffer = true; | 14251 i::FLAG_harmony_sharedarraybuffer = true; |
| 14252 TypedArrayTestHelper<int16_t, v8::Int16Array, i::FixedInt16Array, | 14252 TypedArrayTestHelper<int16_t, v8::Int16Array, i::ExternalInt16Array, |
| 14253 v8::SharedArrayBuffer>(i::kExternalInt16Array, -0x8000, | 14253 v8::SharedArrayBuffer>(i::kExternalInt16Array, -0x8000, |
| 14254 0x7FFF); | 14254 0x7FFF); |
| 14255 } | 14255 } |
| 14256 | 14256 |
| 14257 | 14257 |
| 14258 THREADED_TEST(SharedUint32Array) { | 14258 THREADED_TEST(SharedUint32Array) { |
| 14259 i::FLAG_harmony_sharedarraybuffer = true; | 14259 i::FLAG_harmony_sharedarraybuffer = true; |
| 14260 TypedArrayTestHelper<uint32_t, v8::Uint32Array, i::FixedUint32Array, | 14260 TypedArrayTestHelper<uint32_t, v8::Uint32Array, i::ExternalUint32Array, |
| 14261 v8::SharedArrayBuffer>(i::kExternalUint32Array, 0, | 14261 v8::SharedArrayBuffer>(i::kExternalUint32Array, 0, |
| 14262 UINT_MAX); | 14262 UINT_MAX); |
| 14263 } | 14263 } |
| 14264 | 14264 |
| 14265 | 14265 |
| 14266 THREADED_TEST(SharedInt32Array) { | 14266 THREADED_TEST(SharedInt32Array) { |
| 14267 i::FLAG_harmony_sharedarraybuffer = true; | 14267 i::FLAG_harmony_sharedarraybuffer = true; |
| 14268 TypedArrayTestHelper<int32_t, v8::Int32Array, i::FixedInt32Array, | 14268 TypedArrayTestHelper<int32_t, v8::Int32Array, i::ExternalInt32Array, |
| 14269 v8::SharedArrayBuffer>(i::kExternalInt32Array, INT_MIN, | 14269 v8::SharedArrayBuffer>(i::kExternalInt32Array, INT_MIN, |
| 14270 INT_MAX); | 14270 INT_MAX); |
| 14271 } | 14271 } |
| 14272 | 14272 |
| 14273 | 14273 |
| 14274 THREADED_TEST(SharedFloat32Array) { | 14274 THREADED_TEST(SharedFloat32Array) { |
| 14275 i::FLAG_harmony_sharedarraybuffer = true; | 14275 i::FLAG_harmony_sharedarraybuffer = true; |
| 14276 TypedArrayTestHelper<float, v8::Float32Array, i::FixedFloat32Array, | 14276 TypedArrayTestHelper<float, v8::Float32Array, i::ExternalFloat32Array, |
| 14277 v8::SharedArrayBuffer>(i::kExternalFloat32Array, -500, | 14277 v8::SharedArrayBuffer>(i::kExternalFloat32Array, -500, |
| 14278 500); | 14278 500); |
| 14279 } | 14279 } |
| 14280 | 14280 |
| 14281 | 14281 |
| 14282 THREADED_TEST(SharedFloat64Array) { | 14282 THREADED_TEST(SharedFloat64Array) { |
| 14283 i::FLAG_harmony_sharedarraybuffer = true; | 14283 i::FLAG_harmony_sharedarraybuffer = true; |
| 14284 TypedArrayTestHelper<double, v8::Float64Array, i::FixedFloat64Array, | 14284 TypedArrayTestHelper<double, v8::Float64Array, i::ExternalFloat64Array, |
| 14285 v8::SharedArrayBuffer>(i::kExternalFloat64Array, -500, | 14285 v8::SharedArrayBuffer>(i::kExternalFloat64Array, -500, |
| 14286 500); | 14286 500); |
| 14287 } | 14287 } |
| 14288 | 14288 |
| 14289 | 14289 |
| 14290 THREADED_TEST(SharedUint8ClampedArray) { | 14290 THREADED_TEST(SharedUint8ClampedArray) { |
| 14291 i::FLAG_harmony_sharedarraybuffer = true; | 14291 i::FLAG_harmony_sharedarraybuffer = true; |
| 14292 TypedArrayTestHelper<uint8_t, v8::Uint8ClampedArray, | 14292 TypedArrayTestHelper<uint8_t, v8::Uint8ClampedArray, |
| 14293 i::FixedUint8ClampedArray, v8::SharedArrayBuffer>( | 14293 i::ExternalUint8ClampedArray, v8::SharedArrayBuffer>( |
| 14294 i::kExternalUint8ClampedArray, 0, 0xFF); | 14294 i::kExternalUint8ClampedArray, 0, 0xFF); |
| 14295 } | 14295 } |
| 14296 | 14296 |
| 14297 | 14297 |
| 14298 THREADED_TEST(SharedDataView) { | 14298 THREADED_TEST(SharedDataView) { |
| 14299 i::FLAG_harmony_sharedarraybuffer = true; | 14299 i::FLAG_harmony_sharedarraybuffer = true; |
| 14300 const int kSize = 50; | 14300 const int kSize = 50; |
| 14301 | 14301 |
| 14302 i::ScopedVector<uint8_t> backing_store(kSize + 2); | 14302 i::ScopedVector<uint8_t> backing_store(kSize + 2); |
| 14303 | 14303 |
| (...skipping 7623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21927 | 21927 |
| 21928 v8::TryCatch try_catch(CcTest::isolate()); | 21928 v8::TryCatch try_catch(CcTest::isolate()); |
| 21929 timeout_thread.Start(); | 21929 timeout_thread.Start(); |
| 21930 | 21930 |
| 21931 CompileRun( | 21931 CompileRun( |
| 21932 "var ab = new SharedArrayBuffer(4);" | 21932 "var ab = new SharedArrayBuffer(4);" |
| 21933 "var i32a = new Int32Array(ab);" | 21933 "var i32a = new Int32Array(ab);" |
| 21934 "Atomics.futexWait(i32a, 0, 0);"); | 21934 "Atomics.futexWait(i32a, 0, 0);"); |
| 21935 CHECK(try_catch.HasTerminated()); | 21935 CHECK(try_catch.HasTerminated()); |
| 21936 } | 21936 } |
| OLD | NEW |