Merge pull request #14619 from briansull/emitter-cleanup
[platform/upstream/coreclr.git] / src / vm / gcenv.h
1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
4
5 #ifndef GCENV_H_
6 #define GCENV_H_
7
8 //
9 // Extra VM headers required to compile GC-related files
10 //
11
12 #include "finalizerthread.h"
13
14 #include "threadsuspend.h"
15
16 #ifdef FEATURE_COMINTEROP
17 #include <windows.ui.xaml.h>
18 #endif
19
20 #include "stubhelpers.h"
21
22 #include "eeprofinterfaces.inl"
23
24 #ifdef GC_PROFILING
25 #include "eetoprofinterfaceimpl.h"
26 #include "eetoprofinterfaceimpl.inl"
27 #include "profilepriv.h"
28 #endif
29
30 #ifdef DEBUGGING_SUPPORTED
31 #include "dbginterface.h"
32 #endif
33
34 #ifdef FEATURE_COMINTEROP
35 #include "runtimecallablewrapper.h"
36 #endif // FEATURE_COMINTEROP
37
38
39
40 #define GCMemoryStatus MEMORYSTATUSEX
41
42 #include "util.hpp"
43
44 #include "gcenv.interlocked.h"
45 #include "gcenv.interlocked.inl"
46
47 #ifdef PLATFORM_UNIX
48 #include "gcenv.unix.inl"
49 #else
50 #include "gcenv.windows.inl"
51 #endif
52
53 namespace ETW
54 {
55     typedef  enum _GC_ROOT_KIND {
56         GC_ROOT_STACK = 0,
57         GC_ROOT_FQ = 1,
58         GC_ROOT_HANDLES = 2,
59         GC_ROOT_OLDER = 3,
60         GC_ROOT_SIZEDREF = 4,
61         GC_ROOT_OVERFLOW = 5
62     } GC_ROOT_KIND;
63 };
64
65 #ifdef PLATFORM_UNIX
66 #define _tcslen wcslen
67 #define _tcscpy wcscpy
68 #define _tfopen _wfopen
69 #endif
70
71 #endif // GCENV_H_