Chromium Code Reviews| 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 6570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6581 }; | 6581 }; |
| 6582 | 6582 |
| 6583 class JSPromise; | 6583 class JSPromise; |
| 6584 | 6584 |
| 6585 // Struct to hold state required for PromiseReactionJob. | 6585 // Struct to hold state required for PromiseReactionJob. |
| 6586 class PromiseReactionJobInfo : public Struct { | 6586 class PromiseReactionJobInfo : public Struct { |
| 6587 public: | 6587 public: |
| 6588 DECL_ACCESSORS(promise, JSPromise) | 6588 DECL_ACCESSORS(promise, JSPromise) |
| 6589 DECL_ACCESSORS(value, Object) | 6589 DECL_ACCESSORS(value, Object) |
| 6590 DECL_ACCESSORS(tasks, Object) | 6590 DECL_ACCESSORS(tasks, Object) |
| 6591 DECL_ACCESSORS(deferred, Object) | 6591 DECL_ACCESSORS(deferred_promise, Object) |
|
jgruber
2016/12/21 08:08:28
Let's document the tristate (Object/Undefined/Fixe
gsathya
2016/12/21 19:26:28
Done.
| |
| 6592 DECL_ACCESSORS(deferred_on_resolve, Object) | |
| 6593 DECL_ACCESSORS(deferred_on_reject, Object) | |
| 6592 DECL_ACCESSORS(debug_id, Object) | 6594 DECL_ACCESSORS(debug_id, Object) |
| 6593 DECL_ACCESSORS(debug_name, Object) | 6595 DECL_ACCESSORS(debug_name, Object) |
| 6594 DECL_ACCESSORS(context, Context) | 6596 DECL_ACCESSORS(context, Context) |
| 6595 | 6597 |
| 6596 static const int kPromiseOffset = Struct::kHeaderSize; | 6598 static const int kPromiseOffset = Struct::kHeaderSize; |
| 6597 static const int kValueOffset = kPromiseOffset + kPointerSize; | 6599 static const int kValueOffset = kPromiseOffset + kPointerSize; |
| 6598 static const int kTasksOffset = kValueOffset + kPointerSize; | 6600 static const int kTasksOffset = kValueOffset + kPointerSize; |
| 6599 static const int kDeferredOffset = kTasksOffset + kPointerSize; | 6601 static const int kDeferredPromiseOffset = kTasksOffset + kPointerSize; |
| 6600 static const int kDebugIdOffset = kDeferredOffset + kPointerSize; | 6602 static const int kDeferredOnResolveOffset = |
| 6603 kDeferredPromiseOffset + kPointerSize; | |
| 6604 static const int kDeferredOnRejectOffset = | |
| 6605 kDeferredOnResolveOffset + kPointerSize; | |
| 6606 static const int kDebugIdOffset = kDeferredOnRejectOffset + kPointerSize; | |
| 6601 static const int kDebugNameOffset = kDebugIdOffset + kPointerSize; | 6607 static const int kDebugNameOffset = kDebugIdOffset + kPointerSize; |
| 6602 static const int kContextOffset = kDebugNameOffset + kPointerSize; | 6608 static const int kContextOffset = kDebugNameOffset + kPointerSize; |
| 6603 static const int kSize = kContextOffset + kPointerSize; | 6609 static const int kSize = kContextOffset + kPointerSize; |
| 6604 | 6610 |
| 6605 DECLARE_CAST(PromiseReactionJobInfo) | 6611 DECLARE_CAST(PromiseReactionJobInfo) |
| 6606 DECLARE_PRINTER(PromiseReactionJobInfo) | 6612 DECLARE_PRINTER(PromiseReactionJobInfo) |
| 6607 DECLARE_VERIFIER(PromiseReactionJobInfo) | 6613 DECLARE_VERIFIER(PromiseReactionJobInfo) |
| 6608 | 6614 |
| 6609 private: | 6615 private: |
| 6610 DISALLOW_IMPLICIT_CONSTRUCTORS(PromiseReactionJobInfo); | 6616 DISALLOW_IMPLICIT_CONSTRUCTORS(PromiseReactionJobInfo); |
| (...skipping 2026 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 8637 DECL_ACCESSORS(result, Object) | 8643 DECL_ACCESSORS(result, Object) |
| 8638 | 8644 |
| 8639 // There are 3 possible states for these fields -- | 8645 // There are 3 possible states for these fields -- |
| 8640 // 1) Undefined -- This is the zero state when there is no callback | 8646 // 1) Undefined -- This is the zero state when there is no callback |
| 8641 // or deferred registered. | 8647 // or deferred registered. |
| 8642 // 2) Object -- There is a single Callable directly attached to the | 8648 // 2) Object -- There is a single Callable directly attached to the |
| 8643 // fulfill_reactions, reject_reactions and the deferred JSObject is | 8649 // fulfill_reactions, reject_reactions and the deferred JSObject is |
| 8644 // directly attached to the deferred field. | 8650 // directly attached to the deferred field. |
| 8645 // 3) FixedArray -- There is more than one callback and deferred | 8651 // 3) FixedArray -- There is more than one callback and deferred |
| 8646 // attached to a FixedArray. | 8652 // attached to a FixedArray. |
| 8647 DECL_ACCESSORS(deferred, Object) | 8653 DECL_ACCESSORS(deferred_promise, Object) |
| 8654 DECL_ACCESSORS(deferred_on_resolve, Object) | |
| 8655 DECL_ACCESSORS(deferred_on_reject, Object) | |
| 8648 DECL_ACCESSORS(fulfill_reactions, Object) | 8656 DECL_ACCESSORS(fulfill_reactions, Object) |
| 8649 DECL_ACCESSORS(reject_reactions, Object) | 8657 DECL_ACCESSORS(reject_reactions, Object) |
| 8650 | 8658 |
| 8651 DECL_INT_ACCESSORS(flags) | 8659 DECL_INT_ACCESSORS(flags) |
| 8652 | 8660 |
| 8653 // [has_handler]: Whether this promise has a reject handler or not. | 8661 // [has_handler]: Whether this promise has a reject handler or not. |
| 8654 DECL_BOOLEAN_ACCESSORS(has_handler) | 8662 DECL_BOOLEAN_ACCESSORS(has_handler) |
| 8655 | 8663 |
| 8656 static const char* Status(int status); | 8664 static const char* Status(int status); |
| 8657 | 8665 |
| 8658 DECLARE_CAST(JSPromise) | 8666 DECLARE_CAST(JSPromise) |
| 8659 | 8667 |
| 8660 // Dispatched behavior. | 8668 // Dispatched behavior. |
| 8661 DECLARE_PRINTER(JSPromise) | 8669 DECLARE_PRINTER(JSPromise) |
| 8662 DECLARE_VERIFIER(JSPromise) | 8670 DECLARE_VERIFIER(JSPromise) |
| 8663 | 8671 |
| 8664 // Layout description. | 8672 // Layout description. |
| 8665 static const int kStatusOffset = JSObject::kHeaderSize; | 8673 static const int kStatusOffset = JSObject::kHeaderSize; |
| 8666 static const int kResultOffset = kStatusOffset + kPointerSize; | 8674 static const int kResultOffset = kStatusOffset + kPointerSize; |
| 8667 static const int kDeferredOffset = kResultOffset + kPointerSize; | 8675 static const int kDeferredPromiseOffset = kResultOffset + kPointerSize; |
| 8668 static const int kFulfillReactionsOffset = kDeferredOffset + kPointerSize; | 8676 static const int kDeferredOnResolveOffset = |
| 8677 kDeferredPromiseOffset + kPointerSize; | |
| 8678 static const int kDeferredOnRejectOffset = | |
| 8679 kDeferredOnResolveOffset + kPointerSize; | |
| 8680 static const int kFulfillReactionsOffset = | |
| 8681 kDeferredOnRejectOffset + kPointerSize; | |
| 8669 static const int kRejectReactionsOffset = | 8682 static const int kRejectReactionsOffset = |
| 8670 kFulfillReactionsOffset + kPointerSize; | 8683 kFulfillReactionsOffset + kPointerSize; |
| 8671 static const int kFlagsOffset = kRejectReactionsOffset + kPointerSize; | 8684 static const int kFlagsOffset = kRejectReactionsOffset + kPointerSize; |
| 8672 static const int kSize = kFlagsOffset + kPointerSize; | 8685 static const int kSize = kFlagsOffset + kPointerSize; |
| 8673 | 8686 |
| 8674 // Flags layout. | 8687 // Flags layout. |
| 8675 static const int kHasHandlerBit = 0; | 8688 static const int kHasHandlerBit = 0; |
| 8676 }; | 8689 }; |
| 8677 | 8690 |
| 8678 // Regular expressions | 8691 // Regular expressions |
| (...skipping 3027 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 11706 } | 11719 } |
| 11707 }; | 11720 }; |
| 11708 | 11721 |
| 11709 | 11722 |
| 11710 } // NOLINT, false-positive due to second-order macros. | 11723 } // NOLINT, false-positive due to second-order macros. |
| 11711 } // NOLINT, false-positive due to second-order macros. | 11724 } // NOLINT, false-positive due to second-order macros. |
| 11712 | 11725 |
| 11713 #include "src/objects/object-macros-undef.h" | 11726 #include "src/objects/object-macros-undef.h" |
| 11714 | 11727 |
| 11715 #endif // V8_OBJECTS_H_ | 11728 #endif // V8_OBJECTS_H_ |
| OLD | NEW |