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.
10 #ifndef ZAPPER_STATS_H_0170123740208327
11 #define ZAPPER_STATS_H_0170123740208327
15 #include "corcompile.h"
16 #include "arraylist.h"
22 // forward declarations
29 unsigned m_methods; // Total number of methods
30 unsigned m_failedMethods; // Methods which failed to compile correctly
31 unsigned m_failedILStubs; // ILSTUB methods which failed to compile correctly
34 ULONG m_nativeCodeSize; // Really just the Hot Code Size + Unprofiled size
35 ULONG m_nativeColdCodeSize;
36 ULONG m_nativeRODataSize;
38 #ifdef WIN64EXCEPTIONS
39 ULONG m_unwindInfoSize;
40 #endif // WIN64EXCEPTIONS
42 ULONG m_NumHotAllocations;
43 ULONG m_NumHotColdAllocations;
44 ULONG m_NumMediumHeaders;
46 ULONG m_nativeCodeSizeInSplitMethods;
47 ULONG m_nativeColdCodeSizeInSplitMethods;
48 ULONG m_nativeCodeSizeInSplitProfiledMethods;
49 ULONG m_nativeColdCodeSizeInSplitProfiledMethods;
50 ULONG m_nativeCodeSizeInProfiledMethods;
51 ULONG m_nativeColdCodeSizeInProfiledMethods;
52 ULONG m_totalHotCodeSize;
53 ULONG m_totalUnprofiledCodeSize;
54 ULONG m_totalColdCodeSize;
55 ULONG m_totalCodeSizeInProfiledMethods;
56 ULONG m_totalColdCodeSizeInProfiledMethods;
58 unsigned m_inputFileSize;
59 unsigned m_outputFileSize;
60 unsigned m_metadataSize;
61 unsigned m_preloadImageSize;
62 unsigned m_hotCodeMgrSize;
63 unsigned m_unprofiledCodeMgrSize;
64 unsigned m_coldCodeMgrSize;
65 unsigned m_eeInfoTableSize;
66 unsigned m_helperTableSize;
67 unsigned m_dynamicInfoTableSize;
68 unsigned m_dynamicInfoDelayListSize;
69 unsigned m_importTableSize;
70 unsigned m_debuggingTableSize;
71 unsigned m_headerSectionSize;
72 unsigned m_codeSectionSize;
73 unsigned m_coldCodeSectionSize;
74 unsigned m_exceptionSectionSize;
75 unsigned m_readOnlyDataSectionSize;
76 unsigned m_relocSectionSize;
77 unsigned m_ILMetadataSize;
78 unsigned m_virtualImportThunkSize;
79 unsigned m_externalMethodThunkSize;
80 unsigned m_externalMethodDataSize;
82 unsigned m_prestubMethods;
83 unsigned m_directMethods;
84 unsigned m_indirectMethodReasons[CORINFO_INDIRECT_CALL_COUNT];
90 char const * GetCallReasonString( CorInfoIndirectCallReason reason );
92 #endif // ZAPPER_STATS_H_0170123740208327