OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
391 V(JS_SET_TYPE) \ | 391 V(JS_SET_TYPE) \ |
392 V(JS_MAP_TYPE) \ | 392 V(JS_MAP_TYPE) \ |
393 V(JS_SET_ITERATOR_TYPE) \ | 393 V(JS_SET_ITERATOR_TYPE) \ |
394 V(JS_MAP_ITERATOR_TYPE) \ | 394 V(JS_MAP_ITERATOR_TYPE) \ |
395 V(JS_WEAK_MAP_TYPE) \ | 395 V(JS_WEAK_MAP_TYPE) \ |
396 V(JS_WEAK_SET_TYPE) \ | 396 V(JS_WEAK_SET_TYPE) \ |
397 V(JS_PROMISE_CAPABILITY_TYPE) \ | 397 V(JS_PROMISE_CAPABILITY_TYPE) \ |
398 V(JS_PROMISE_TYPE) \ | 398 V(JS_PROMISE_TYPE) \ |
399 V(JS_REGEXP_TYPE) \ | 399 V(JS_REGEXP_TYPE) \ |
400 V(JS_ERROR_TYPE) \ | 400 V(JS_ERROR_TYPE) \ |
| 401 V(JS_ASYNC_FROM_SYNC_ITERATOR_TYPE) \ |
401 V(JS_STRING_ITERATOR_TYPE) \ | 402 V(JS_STRING_ITERATOR_TYPE) \ |
402 \ | 403 \ |
403 V(JS_TYPED_ARRAY_KEY_ITERATOR_TYPE) \ | 404 V(JS_TYPED_ARRAY_KEY_ITERATOR_TYPE) \ |
404 V(JS_FAST_ARRAY_KEY_ITERATOR_TYPE) \ | 405 V(JS_FAST_ARRAY_KEY_ITERATOR_TYPE) \ |
405 V(JS_GENERIC_ARRAY_KEY_ITERATOR_TYPE) \ | 406 V(JS_GENERIC_ARRAY_KEY_ITERATOR_TYPE) \ |
406 \ | 407 \ |
407 V(JS_UINT8_ARRAY_KEY_VALUE_ITERATOR_TYPE) \ | 408 V(JS_UINT8_ARRAY_KEY_VALUE_ITERATOR_TYPE) \ |
408 V(JS_INT8_ARRAY_KEY_VALUE_ITERATOR_TYPE) \ | 409 V(JS_INT8_ARRAY_KEY_VALUE_ITERATOR_TYPE) \ |
409 V(JS_UINT16_ARRAY_KEY_VALUE_ITERATOR_TYPE) \ | 410 V(JS_UINT16_ARRAY_KEY_VALUE_ITERATOR_TYPE) \ |
410 V(JS_INT16_ARRAY_KEY_VALUE_ITERATOR_TYPE) \ | 411 V(JS_INT16_ARRAY_KEY_VALUE_ITERATOR_TYPE) \ |
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
736 JS_SET_TYPE, | 737 JS_SET_TYPE, |
737 JS_MAP_TYPE, | 738 JS_MAP_TYPE, |
738 JS_SET_ITERATOR_TYPE, | 739 JS_SET_ITERATOR_TYPE, |
739 JS_MAP_ITERATOR_TYPE, | 740 JS_MAP_ITERATOR_TYPE, |
740 JS_WEAK_MAP_TYPE, | 741 JS_WEAK_MAP_TYPE, |
741 JS_WEAK_SET_TYPE, | 742 JS_WEAK_SET_TYPE, |
742 JS_PROMISE_CAPABILITY_TYPE, | 743 JS_PROMISE_CAPABILITY_TYPE, |
743 JS_PROMISE_TYPE, | 744 JS_PROMISE_TYPE, |
744 JS_REGEXP_TYPE, | 745 JS_REGEXP_TYPE, |
745 JS_ERROR_TYPE, | 746 JS_ERROR_TYPE, |
| 747 JS_ASYNC_FROM_SYNC_ITERATOR_TYPE, |
746 JS_STRING_ITERATOR_TYPE, | 748 JS_STRING_ITERATOR_TYPE, |
747 | 749 |
748 JS_TYPED_ARRAY_KEY_ITERATOR_TYPE, | 750 JS_TYPED_ARRAY_KEY_ITERATOR_TYPE, |
749 JS_FAST_ARRAY_KEY_ITERATOR_TYPE, | 751 JS_FAST_ARRAY_KEY_ITERATOR_TYPE, |
750 JS_GENERIC_ARRAY_KEY_ITERATOR_TYPE, | 752 JS_GENERIC_ARRAY_KEY_ITERATOR_TYPE, |
751 | 753 |
752 JS_UINT8_ARRAY_KEY_VALUE_ITERATOR_TYPE, | 754 JS_UINT8_ARRAY_KEY_VALUE_ITERATOR_TYPE, |
753 JS_INT8_ARRAY_KEY_VALUE_ITERATOR_TYPE, | 755 JS_INT8_ARRAY_KEY_VALUE_ITERATOR_TYPE, |
754 JS_UINT16_ARRAY_KEY_VALUE_ITERATOR_TYPE, | 756 JS_UINT16_ARRAY_KEY_VALUE_ITERATOR_TYPE, |
755 JS_INT16_ARRAY_KEY_VALUE_ITERATOR_TYPE, | 757 JS_INT16_ARRAY_KEY_VALUE_ITERATOR_TYPE, |
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1032 V(SharedFunctionInfo) \ | 1034 V(SharedFunctionInfo) \ |
1033 V(JSValue) \ | 1035 V(JSValue) \ |
1034 V(JSDate) \ | 1036 V(JSDate) \ |
1035 V(JSMessageObject) \ | 1037 V(JSMessageObject) \ |
1036 V(StringWrapper) \ | 1038 V(StringWrapper) \ |
1037 V(Foreign) \ | 1039 V(Foreign) \ |
1038 V(Boolean) \ | 1040 V(Boolean) \ |
1039 V(JSArray) \ | 1041 V(JSArray) \ |
1040 V(JSArrayBuffer) \ | 1042 V(JSArrayBuffer) \ |
1041 V(JSArrayBufferView) \ | 1043 V(JSArrayBufferView) \ |
| 1044 V(JSAsyncFromSyncIterator) \ |
1042 V(JSCollection) \ | 1045 V(JSCollection) \ |
1043 V(JSTypedArray) \ | 1046 V(JSTypedArray) \ |
1044 V(JSArrayIterator) \ | 1047 V(JSArrayIterator) \ |
1045 V(JSDataView) \ | 1048 V(JSDataView) \ |
1046 V(JSProxy) \ | 1049 V(JSProxy) \ |
1047 V(JSError) \ | 1050 V(JSError) \ |
1048 V(JSPromiseCapability) \ | 1051 V(JSPromiseCapability) \ |
1049 V(JSPromise) \ | 1052 V(JSPromise) \ |
1050 V(JSStringIterator) \ | 1053 V(JSStringIterator) \ |
1051 V(JSSet) \ | 1054 V(JSSet) \ |
(...skipping 9378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10430 | 10433 |
10431 static const int kIteratedObjectOffset = JSObject::kHeaderSize; | 10434 static const int kIteratedObjectOffset = JSObject::kHeaderSize; |
10432 static const int kNextIndexOffset = kIteratedObjectOffset + kPointerSize; | 10435 static const int kNextIndexOffset = kIteratedObjectOffset + kPointerSize; |
10433 static const int kIteratedObjectMapOffset = kNextIndexOffset + kPointerSize; | 10436 static const int kIteratedObjectMapOffset = kNextIndexOffset + kPointerSize; |
10434 static const int kSize = kIteratedObjectMapOffset + kPointerSize; | 10437 static const int kSize = kIteratedObjectMapOffset + kPointerSize; |
10435 | 10438 |
10436 private: | 10439 private: |
10437 DISALLOW_IMPLICIT_CONSTRUCTORS(JSArrayIterator); | 10440 DISALLOW_IMPLICIT_CONSTRUCTORS(JSArrayIterator); |
10438 }; | 10441 }; |
10439 | 10442 |
| 10443 // The [Async-from-Sync Iterator] object |
| 10444 // (proposal-async-iteration/#sec-async-from-sync-iterator-objects) |
| 10445 // An object which wraps an ordinary Iterator and converts it to behave |
| 10446 // according to the Async Iterator protocol. |
| 10447 // (See https://tc39.github.io/proposal-async-iteration/#sec-iteration) |
| 10448 class JSAsyncFromSyncIterator : public JSObject { |
| 10449 public: |
| 10450 DECLARE_CAST(JSAsyncFromSyncIterator) |
| 10451 DECLARE_PRINTER(JSAsyncFromSyncIterator) |
| 10452 DECLARE_VERIFIER(JSAsyncFromSyncIterator) |
| 10453 |
| 10454 // Async-from-Sync Iterator instances are ordinary objects that inherit |
| 10455 // properties from the %AsyncFromSyncIteratorPrototype% intrinsic object. |
| 10456 // Async-from-Sync Iterator instances are initially created with the internal |
| 10457 // slots listed in Table 4. |
| 10458 // (proposal-async-iteration/#table-async-from-sync-iterator-internal-slots) |
| 10459 DECL_ACCESSORS(sync_iterator, JSReceiver) |
| 10460 |
| 10461 // Offsets of object fields. |
| 10462 static const int kSyncIteratorOffset = JSObject::kHeaderSize; |
| 10463 static const int kSize = kSyncIteratorOffset + kPointerSize; |
| 10464 |
| 10465 private: |
| 10466 DISALLOW_IMPLICIT_CONSTRUCTORS(JSAsyncFromSyncIterator); |
| 10467 }; |
| 10468 |
10440 class JSStringIterator : public JSObject { | 10469 class JSStringIterator : public JSObject { |
10441 public: | 10470 public: |
10442 // Dispatched behavior. | 10471 // Dispatched behavior. |
10443 DECLARE_PRINTER(JSStringIterator) | 10472 DECLARE_PRINTER(JSStringIterator) |
10444 DECLARE_VERIFIER(JSStringIterator) | 10473 DECLARE_VERIFIER(JSStringIterator) |
10445 | 10474 |
10446 DECLARE_CAST(JSStringIterator) | 10475 DECLARE_CAST(JSStringIterator) |
10447 | 10476 |
10448 // [string]: the [[IteratedString]] internal field. | 10477 // [string]: the [[IteratedString]] internal field. |
10449 DECL_ACCESSORS(string, String) | 10478 DECL_ACCESSORS(string, String) |
(...skipping 1079 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11529 } | 11558 } |
11530 }; | 11559 }; |
11531 | 11560 |
11532 | 11561 |
11533 } // NOLINT, false-positive due to second-order macros. | 11562 } // NOLINT, false-positive due to second-order macros. |
11534 } // NOLINT, false-positive due to second-order macros. | 11563 } // NOLINT, false-positive due to second-order macros. |
11535 | 11564 |
11536 #include "src/objects/object-macros-undef.h" | 11565 #include "src/objects/object-macros-undef.h" |
11537 | 11566 |
11538 #endif // V8_OBJECTS_H_ | 11567 #endif // V8_OBJECTS_H_ |
OLD | NEW |