Chromium Code Reviews| Index: src/objects.h |
| diff --git a/src/objects.h b/src/objects.h |
| index f77ac4bc8ea3664643a20395b970e03ab8a6ece3..dd6616388e84c23b01dcc305611f163842a4b9cd 100644 |
| --- a/src/objects.h |
| +++ b/src/objects.h |
| @@ -143,6 +143,8 @@ |
| // - Struct |
| // - Box |
| // - AccessorInfo |
| +// - PromiseContainer |
| +// - PromiseReactionJobInfo |
| // - AccessorPair |
| // - AccessCheckInfo |
| // - InterceptorInfo |
| @@ -399,6 +401,7 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1; |
| V(ALIASED_ARGUMENTS_ENTRY_TYPE) \ |
| V(BOX_TYPE) \ |
| V(PROMISE_CONTAINER_TYPE) \ |
| + V(PROMISE_REACTION_JOB_INFO_TYPE) \ |
| V(PROTOTYPE_INFO_TYPE) \ |
| V(CONTEXT_EXTENSION_TYPE) \ |
| V(MODULE_TYPE) \ |
| @@ -506,6 +509,8 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1; |
| #define STRUCT_LIST(V) \ |
| V(BOX, Box, box) \ |
| V(PROMISE_CONTAINER, PromiseContainer, promise_container) \ |
| + V(PROMISE_REACTION_JOB_INFO, PromiseReactionJobInfo, \ |
| + promise_reaction_job_info) \ |
| V(ACCESSOR_INFO, AccessorInfo, accessor_info) \ |
| V(ACCESSOR_PAIR, AccessorPair, accessor_pair) \ |
| V(ACCESS_CHECK_INFO, AccessCheckInfo, access_check_info) \ |
| @@ -688,6 +693,7 @@ enum InstanceType { |
| ALIASED_ARGUMENTS_ENTRY_TYPE, |
| BOX_TYPE, |
| PROMISE_CONTAINER_TYPE, |
| + PROMISE_REACTION_JOB_INFO_TYPE, |
| DEBUG_INFO_TYPE, |
| BREAK_POINT_INFO_TYPE, |
| FIXED_ARRAY_TYPE, |
| @@ -6677,9 +6683,8 @@ class Struct: public HeapObject { |
| DECLARE_CAST(Struct) |
| }; |
| -// A container struct to hold state required for |
| -// PromiseResolveThenableJob. {before, after}_debug_event could |
| -// potentially be undefined if the debugger is turned off. |
| +// A container struct to hold state required for PromiseResolveThenableJob. |
| +// TODO(gsathya): Rename this to be less generic. |
| class PromiseContainer : public Struct { |
| public: |
| DECL_ACCESSORS(thenable, JSReceiver) |
| @@ -6706,6 +6711,33 @@ class PromiseContainer : public Struct { |
| DISALLOW_IMPLICIT_CONSTRUCTORS(PromiseContainer); |
| }; |
| +// Struct to hold state required for PromiseReactionJobInfo. |
|
adamk
2016/10/12 16:18:12
Typo: remove "Info" from end of this comment.
gsathya
2016/10/12 20:08:53
Done.
|
| +class PromiseReactionJobInfo : public Struct { |
| + public: |
| + DECL_ACCESSORS(value, Object) |
| + DECL_ACCESSORS(tasks, Object) |
| + DECL_ACCESSORS(deferred, Object) |
| + DECL_ACCESSORS(before_debug_event, Object) |
| + DECL_ACCESSORS(after_debug_event, Object) |
| + DECL_ACCESSORS(context, Context) |
| + |
| + static const int kValueOffset = Struct::kHeaderSize; |
| + static const int kTasksOffset = kValueOffset + kPointerSize; |
| + static const int kDeferredOffset = kTasksOffset + kPointerSize; |
| + static const int kBeforeDebugEventOffset = kDeferredOffset + kPointerSize; |
| + static const int kAfterDebugEventOffset = |
| + kBeforeDebugEventOffset + kPointerSize; |
| + static const int kContext = kAfterDebugEventOffset + kPointerSize; |
|
adamk
2016/10/12 16:18:12
s/kContext/kContextOffset/
gsathya
2016/10/12 20:08:53
Done.
|
| + static const int kSize = kContext + kPointerSize; |
| + |
| + DECLARE_CAST(PromiseReactionJobInfo) |
| + DECLARE_PRINTER(PromiseReactionJobInfo) |
| + DECLARE_VERIFIER(PromiseReactionJobInfo) |
| + |
| + private: |
| + DISALLOW_IMPLICIT_CONSTRUCTORS(PromiseReactionJobInfo); |
| +}; |
| + |
| // A simple one-element struct, useful where smis need to be boxed. |
| class Box : public Struct { |
| public: |