• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_STACK_FRAME_INFO_INL_H_
6  #define V8_OBJECTS_STACK_FRAME_INFO_INL_H_
7  
8  #include "src/objects/stack-frame-info.h"
9  
10  #include "src/heap/heap-write-barrier-inl.h"
11  #include "src/objects/frame-array-inl.h"
12  #include "src/objects/objects-inl.h"
13  #include "src/objects/struct-inl.h"
14  
15  // Has to be the last include (doesn't have include guards):
16  #include "src/objects/object-macros.h"
17  
18  namespace v8 {
19  namespace internal {
20  
21  #include "torque-generated/src/objects/stack-frame-info-tq-inl.inc"
22  
23  TQ_OBJECT_CONSTRUCTORS_IMPL(StackFrameInfo)
24  
25  NEVER_READ_ONLY_SPACE_IMPL(StackFrameInfo)
26  
27  SMI_ACCESSORS_CHECKED(StackFrameInfo, function_offset,
28                        kPromiseCombinatorIndexOffset, is_wasm())
29  BOOL_ACCESSORS(StackFrameInfo, flag, is_eval, IsEvalBit::kShift)
30  BOOL_ACCESSORS(StackFrameInfo, flag, is_constructor, IsConstructorBit::kShift)
31  BOOL_ACCESSORS(StackFrameInfo, flag, is_wasm, IsWasmBit::kShift)
32  BOOL_ACCESSORS(StackFrameInfo, flag, is_asmjs_wasm, IsAsmJsWasmBit::kShift)
33  BOOL_ACCESSORS(StackFrameInfo, flag, is_user_java_script,
34                 IsUserJavaScriptBit::kShift)
35  BOOL_ACCESSORS(StackFrameInfo, flag, is_toplevel, IsToplevelBit::kShift)
36  BOOL_ACCESSORS(StackFrameInfo, flag, is_async, IsAsyncBit::kShift)
37  BOOL_ACCESSORS(StackFrameInfo, flag, is_promise_all, IsPromiseAllBit::kShift)
38  BOOL_ACCESSORS(StackFrameInfo, flag, is_promise_any, IsPromiseAnyBit::kShift)
39  
40  TQ_OBJECT_CONSTRUCTORS_IMPL(StackTraceFrame)
41  NEVER_READ_ONLY_SPACE_IMPL(StackTraceFrame)
42  
43  }  // namespace internal
44  }  // namespace v8
45  
46  #include "src/objects/object-macros-undef.h"
47  
48  #endif  // V8_OBJECTS_STACK_FRAME_INFO_INL_H_
49