• 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 EnumCache extends Struct {
6  keys: FixedArray;
7  indices: FixedArray;
8}
9
10@export
11struct DescriptorEntry {
12  key: Name|Undefined;
13  details: Smi|Undefined;
14  value: JSAny|Weak<Map>|AccessorInfo|AccessorPair|ClassPositions;
15}
16
17@generateBodyDescriptor
18@generateUniqueMap
19extern class DescriptorArray extends HeapObject {
20  const number_of_all_descriptors: uint16;
21  number_of_descriptors: uint16;
22  raw_number_of_marked_descriptors: uint16;
23  filler16_bits: uint16;
24  enum_cache: EnumCache;
25  descriptors[number_of_all_descriptors]: DescriptorEntry;
26}
27
28// A descriptor array where all values are held strongly.
29class StrongDescriptorArray extends DescriptorArray {}
30