Chromium Code Reviews| 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 2307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2318 Handle<Value> GetScriptId() const; | 2318 Handle<Value> GetScriptId() const; |
| 2319 ScriptOrigin GetScriptOrigin() const; | 2319 ScriptOrigin GetScriptOrigin() const; |
| 2320 V8_INLINE(static Function* Cast(Value* obj)); | 2320 V8_INLINE(static Function* Cast(Value* obj)); |
| 2321 static const int kLineOffsetNotFound; | 2321 static const int kLineOffsetNotFound; |
| 2322 | 2322 |
| 2323 private: | 2323 private: |
| 2324 Function(); | 2324 Function(); |
| 2325 static void CheckCast(Value* obj); | 2325 static void CheckCast(Value* obj); |
| 2326 }; | 2326 }; |
| 2327 | 2327 |
| 2328 /** | |
| 2329 * The contents of an |ArrayBuffer|. Externalization of |ArrayBuffer| | |
| 2330 * populates an instance of this class with a pointer to data and byte length. | |
| 2331 * | |
| 2332 * |ArrayBufferContents| is the owner of its data. When an instance of | |
| 2333 * this class is destructed, the |Data| is freed. | |
| 2334 * | |
| 2335 * This API is experimental and may change significantly. | |
| 2336 */ | |
| 2337 class V8EXPORT ArrayBufferContents { | |
| 2338 public: | |
| 2339 ArrayBufferContents() : data_(NULL), byte_length_(0) {} | |
| 2340 ~ArrayBufferContents(); | |
| 2341 | |
| 2342 void* Data() const { return data_; } | |
| 2343 size_t ByteLength() const { return byte_length_; } | |
| 2344 | |
| 2345 private: | |
| 2346 ArrayBufferContents(void* data, size_t byte_length) | |
|
Sven Panne
2013/05/23 09:08:41
No callers, remove it.
| |
| 2347 : data_(data), byte_length_(byte_length) { } | |
| 2348 | |
| 2349 void* data_; | |
| 2350 size_t byte_length_; | |
| 2351 | |
| 2352 friend class ArrayBuffer; | |
| 2353 }; | |
| 2354 | |
| 2355 #ifndef V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT | |
| 2356 #define V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT 2 | |
| 2357 #endif | |
| 2328 | 2358 |
| 2329 /** | 2359 /** |
| 2330 * An instance of the built-in ArrayBuffer constructor (ES6 draft 15.13.5). | 2360 * An instance of the built-in ArrayBuffer constructor (ES6 draft 15.13.5). |
| 2331 * This API is experimental and may change significantly. | 2361 * This API is experimental and may change significantly. |
| 2332 */ | 2362 */ |
| 2333 class V8EXPORT ArrayBuffer : public Object { | 2363 class V8EXPORT ArrayBuffer : public Object { |
| 2334 public: | 2364 public: |
| 2335 /** | 2365 /** |
| 2336 * Data length in bytes. | 2366 * Data length in bytes. |
| 2337 */ | 2367 */ |
| 2338 size_t ByteLength() const; | 2368 size_t ByteLength() const; |
| 2339 /** | |
| 2340 * Raw pointer to the array buffer data | |
| 2341 */ | |
| 2342 void* Data() const; | |
| 2343 | 2369 |
| 2344 /** | 2370 /** |
| 2345 * Create a new ArrayBuffer. Allocate |byte_length| bytes. | 2371 * Create a new ArrayBuffer. Allocate |byte_length| bytes. |
| 2346 * Allocated memory will be owned by a created ArrayBuffer and | 2372 * Allocated memory will be owned by a created ArrayBuffer and |
| 2347 * will be deallocated when it is garbage-collected. | 2373 * will be deallocated when it is garbage-collected, |
| 2374 * unless the object is externalized. | |
| 2348 */ | 2375 */ |
| 2349 static Local<ArrayBuffer> New(size_t byte_length); | 2376 static Local<ArrayBuffer> New(size_t byte_length); |
| 2350 | 2377 |
| 2351 /** | 2378 /** |
| 2352 * Create a new ArrayBuffer over an existing memory block. | 2379 * Create a new ArrayBuffer over an existing memory block. |
| 2380 * The created array buffer is immediately in externalized state. | |
| 2353 * The memory block will not be reclaimed when a created ArrayBuffer | 2381 * The memory block will not be reclaimed when a created ArrayBuffer |
| 2354 * is garbage-collected. | 2382 * is garbage-collected. |
| 2355 */ | 2383 */ |
| 2356 static Local<ArrayBuffer> New(void* data, size_t byte_length); | 2384 static Local<ArrayBuffer> New(void* data, size_t byte_length); |
| 2357 | 2385 |
| 2386 /** | |
| 2387 * Returns true if ArrayBuffer is extrenalized, that is, does not | |
| 2388 * own its memory block. | |
| 2389 */ | |
| 2390 bool IsExternal() const; | |
| 2391 | |
| 2392 /** | |
| 2393 * Pass the ownership of this ArrayBuffer's backing store to | |
| 2394 * a given ArrayBufferContents. | |
| 2395 */ | |
| 2396 void Externalize(ArrayBufferContents* contents); | |
| 2397 | |
| 2358 V8_INLINE(static ArrayBuffer* Cast(Value* obj)); | 2398 V8_INLINE(static ArrayBuffer* Cast(Value* obj)); |
| 2359 | 2399 |
| 2400 | |
| 2401 static const int kInternalFieldCount = V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT; | |
| 2402 | |
| 2360 private: | 2403 private: |
| 2361 ArrayBuffer(); | 2404 ArrayBuffer(); |
| 2362 static void CheckCast(Value* obj); | 2405 static void CheckCast(Value* obj); |
| 2363 }; | 2406 }; |
| 2364 | 2407 |
| 2365 | 2408 |
| 2366 /** | 2409 /** |
| 2367 * A base class for an instance of TypedArray series of constructors | 2410 * A base class for an instance of TypedArray series of constructors |
| 2368 * (ES6 draft 15.13.6). | 2411 * (ES6 draft 15.13.6). |
| 2369 * This API is experimental and may change significantly. | 2412 * This API is experimental and may change significantly. |
| (...skipping 3916 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6286 | 6329 |
| 6287 | 6330 |
| 6288 } // namespace v8 | 6331 } // namespace v8 |
| 6289 | 6332 |
| 6290 | 6333 |
| 6291 #undef V8EXPORT | 6334 #undef V8EXPORT |
| 6292 #undef TYPE_CHECK | 6335 #undef TYPE_CHECK |
| 6293 | 6336 |
| 6294 | 6337 |
| 6295 #endif // V8_H_ | 6338 #endif // V8_H_ |
| OLD | NEW |