Line data Source code
1 : // Copyright 2018 the V8 project authors. All rights reserved.
2 : // Use of this source code is governed by a BSD-style license that can be
3 : // found in the LICENSE file.
4 :
5 : #ifndef V8_OBJECTS_MICROTASK_INL_H_
6 : #define V8_OBJECTS_MICROTASK_INL_H_
7 :
8 : #include "src/objects/microtask.h"
9 :
10 : #include "src/heap/heap-write-barrier-inl.h"
11 : #include "src/objects/foreign-inl.h"
12 :
13 : // Has to be the last include (doesn't have include guards):
14 : #include "src/objects/object-macros.h"
15 :
16 : namespace v8 {
17 : namespace internal {
18 :
19 5366 : OBJECT_CONSTRUCTORS_IMPL(Microtask, Struct)
20 924 : OBJECT_CONSTRUCTORS_IMPL(CallbackTask, Microtask)
21 798 : OBJECT_CONSTRUCTORS_IMPL(CallableTask, Microtask)
22 :
23 2683 : CAST_ACCESSOR(Microtask)
24 462 : CAST_ACCESSOR(CallbackTask)
25 399 : CAST_ACCESSOR(CallableTask)
26 :
27 1995 : ACCESSORS(CallableTask, callable, JSReceiver, kCallableOffset)
28 1995 : ACCESSORS(CallableTask, context, Context, kContextOffset)
29 :
30 2310 : ACCESSORS(CallbackTask, callback, Foreign, kCallbackOffset)
31 2310 : ACCESSORS(CallbackTask, data, Foreign, kDataOffset)
32 :
33 : } // namespace internal
34 : } // namespace v8
35 :
36 : #include "src/objects/object-macros-undef.h"
37 :
38 : #endif // V8_OBJECTS_MICROTASK_INL_H_
|