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