• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2019 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
5extern class CallHandlerInfo extends Struct {
6  callback: NonNullForeign|Undefined|Zero;
7  js_callback: NonNullForeign|Undefined|Zero;
8  data: Object;
9}
10
11bitfield struct InterceptorInfoFlags extends uint31 {
12  can_intercept_symbols: bool: 1 bit;
13  all_can_read: bool: 1 bit;
14  non_masking: bool: 1 bit;
15  named: bool: 1 bit;
16  has_no_side_effect: bool: 1 bit;
17}
18
19extern class InterceptorInfo extends Struct {
20  getter: NonNullForeign|Zero|Undefined;
21  setter: NonNullForeign|Zero|Undefined;
22  query: NonNullForeign|Zero|Undefined;
23  descriptor: NonNullForeign|Zero|Undefined;
24  deleter: NonNullForeign|Zero|Undefined;
25  enumerator: NonNullForeign|Zero|Undefined;
26  definer: NonNullForeign|Zero|Undefined;
27  data: Object;
28  flags: SmiTagged<InterceptorInfoFlags>;
29}
30
31extern class AccessCheckInfo extends Struct {
32  callback: Foreign|Zero|Undefined;
33  named_interceptor: InterceptorInfo|Zero|Undefined;
34  indexed_interceptor: InterceptorInfo|Zero|Undefined;
35  data: Object;
36}
37
38type SideEffectType extends int32 constexpr 'SideEffectType';
39
40bitfield struct AccessorInfoFlags extends uint31 {
41  all_can_read: bool: 1 bit;
42  all_can_write: bool: 1 bit;
43  is_special_data_property: bool: 1 bit;
44  is_sloppy: bool: 1 bit;
45  replace_on_access: bool: 1 bit;
46  getter_side_effect_type: SideEffectType: 2 bit;
47  setter_side_effect_type: SideEffectType: 2 bit;
48  initial_attributes: PropertyAttributes: 3 bit;
49}
50
51extern class AccessorInfo extends Struct {
52  name: Name;
53  flags: SmiTagged<AccessorInfoFlags>;
54  expected_receiver_type: Object;
55  setter: NonNullForeign|Zero;
56  getter: NonNullForeign|Zero;
57  // This either points at the same as above, or a trampoline in case we are
58  // running with the simulator. Use these entries from generated code.
59  js_getter: NonNullForeign|Zero;
60  data: Object;
61}
62