Welcome to mirror list, hosted at ThFree Co, Russian Federation.

OptionalFieldDefinitions.h « inc « Runtime « Native « src - github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e1c0b18796e29c028f1c63ef0232ad91903d26ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

//
// This file is designed to be included multiple times with different definitions of the
// DEFINE_INLINE_OPTIONAL_FIELD and DEFINE_OUTLINE_OPTIONAL_FIELD macros in order to build data structures
// related to each type of EEType optional field we support (see OptionalFields.h for details).
//

// The order of definition of the fields is somewhat important: for types that require multiple optional
// fields the fields are laid out in the order of definition. Thus access to the fields defined first will be
// slightly faster than the later fields.

#ifndef DEFINE_INLINE_OPTIONAL_FIELD
#error Must define DEFINE_INLINE_OPTIONAL_FIELD before including this file
#endif

#ifndef DEFINE_OUTLINE_OPTIONAL_FIELD
#error Must define DEFINE_OUTLINE_OPTIONAL_FIELD before including this file
#endif

//                               Field name                Field type
DEFINE_INLINE_OPTIONAL_FIELD    (RareFlags,                UInt32)
DEFINE_INLINE_OPTIONAL_FIELD    (ICastableIsInstSlot,      UInt16)
DEFINE_INLINE_OPTIONAL_FIELD    (DispatchMap,              UInt32)
DEFINE_INLINE_OPTIONAL_FIELD    (ValueTypeFieldPadding,    UInt32)
DEFINE_INLINE_OPTIONAL_FIELD    (ICastableGetImplTypeSlot, UInt16)
DEFINE_INLINE_OPTIONAL_FIELD    (NullableValueOffset,      UInt8)

#undef DEFINE_INLINE_OPTIONAL_FIELD
#undef DEFINE_OUTLINE_OPTIONAL_FIELD