@@ -49,6 +49,7 @@ class Stats : public shared::Singleton<Stats>
49
49
std::atomic_ullong moduleUnloadStarted = {0 };
50
50
std::atomic_ullong moduleLoadFinished = {0 };
51
51
std::atomic_ullong assemblyLoadFinished = {0 };
52
+ std::atomic_ullong enqueueRequestRejitForLoadedModules = {0 };
52
53
std::atomic_ullong initialize = {0 };
53
54
54
55
//
@@ -61,6 +62,7 @@ class Stats : public shared::Singleton<Stats>
61
62
std::atomic_uint moduleUnloadStartedCount = {0 };
62
63
std::atomic_uint moduleLoadFinishedCount = {0 };
63
64
std::atomic_uint assemblyLoadFinishedCount = {0 };
65
+ std::atomic_uint enqueueRequestRejitForLoadedModulesCount = {0 };
64
66
65
67
public:
66
68
Stats ()
@@ -76,6 +78,7 @@ class Stats : public shared::Singleton<Stats>
76
78
moduleUnloadStarted = 0 ;
77
79
moduleLoadFinished = 0 ;
78
80
assemblyLoadFinished = 0 ;
81
+ enqueueRequestRejitForLoadedModules = 0 ;
79
82
initialize = 0 ;
80
83
81
84
initializeProfilerCount = 0 ;
@@ -86,6 +89,7 @@ class Stats : public shared::Singleton<Stats>
86
89
moduleUnloadStartedCount = 0 ;
87
90
moduleLoadFinishedCount = 0 ;
88
91
assemblyLoadFinishedCount = 0 ;
92
+ enqueueRequestRejitForLoadedModulesCount = 0 ;
89
93
}
90
94
SWStat InitializeProfilerMeasure ()
91
95
{
@@ -132,6 +136,11 @@ class Stats : public shared::Singleton<Stats>
132
136
assemblyLoadFinishedCount++;
133
137
return SWStat (&assemblyLoadFinished);
134
138
}
139
+ SWStat EnqueueRequestRejitForLoadedModulesMeasure ()
140
+ {
141
+ enqueueRequestRejitForLoadedModulesCount++;
142
+ return SWStat (&enqueueRequestRejitForLoadedModules);
143
+ }
135
144
SWStat InitializeMeasure ()
136
145
{
137
146
return SWStat (&initialize);
@@ -148,6 +157,7 @@ class Stats : public shared::Singleton<Stats>
148
157
const auto ns_jitInlining = jitInlining.load ();
149
158
const auto ns_jitCachedFunctionSearchStarted = jitCachedFunctionSearchStarted.load ();
150
159
const auto ns_initializeProfiler = initializeProfiler.load ();
160
+ const auto ns_enqueueRequestRejitForLoadedModules = enqueueRequestRejitForLoadedModules.load ();
151
161
152
162
const auto count_moduleLoadFinishedCount = moduleLoadFinishedCount.load ();
153
163
const auto count_callTargetRequestRejitCount = callTargetRequestRejitCount.load ();
@@ -158,6 +168,7 @@ class Stats : public shared::Singleton<Stats>
158
168
const auto count_jitInliningCount = jitInliningCount.load ();
159
169
const auto count_jitCachedFunctionSearchStartedCount = jitCachedFunctionSearchStartedCount.load ();
160
170
const auto count_initializeProfilerCount = initializeProfilerCount.load ();
171
+ const auto count_enqueueRequestRejitForLoadedModulesCount = enqueueRequestRejitForLoadedModulesCount.load ();
161
172
162
173
const auto ns_total = ns_initialize + ns_moduleLoadFinished + ns_callTargetRequestRejit +
163
174
ns_callTargetRewriter + ns_assemblyLoadFinished + ns_moduleUnloadStarted +
@@ -174,33 +185,47 @@ class Stats : public shared::Singleton<Stats>
174
185
ss << ns_total / 1000000 << " ms " ;
175
186
ss << " [Initialize=" ;
176
187
ss << ns_initialize / 1000000 << " ms" ;
188
+
177
189
ss << " , ModuleLoadFinished=" ;
178
190
ss << ns_moduleLoadFinished / 1000000 << " ms"
179
191
<< " /" << count_moduleLoadFinishedCount;
192
+
180
193
ss << " , CallTargetRequestRejit=" ;
181
194
ss << ns_callTargetRequestRejit / 1000000 << " ms"
182
195
<< " /" << count_callTargetRequestRejitCount;
196
+
183
197
ss << " , CallTargetRewriter=" ;
184
198
ss << ns_callTargetRewriter / 1000000 << " ms"
185
199
<< " /" << count_callTargetRewriterCount;
200
+
186
201
ss << " , AssemblyLoadFinished=" ;
187
202
ss << ns_assemblyLoadFinished / 1000000 << " ms"
188
203
<< " /" << count_assemblyLoadFinishedCount;
204
+
189
205
ss << " , ModuleUnloadStarted=" ;
190
206
ss << ns_moduleUnloadStarted / 1000000 << " ms"
191
207
<< " /" << count_moduleUnloadStartedCount;
208
+
192
209
ss << " , JitCompilationStarted=" ;
193
210
ss << ns_jitCompilationStarted / 1000000 << " ms"
194
211
<< " /" << count_jitCompilationStartedCount;
212
+
195
213
ss << " , JitInlining=" ;
196
214
ss << ns_jitInlining / 1000000 << " ms"
197
215
<< " /" << count_jitInliningCount;
216
+
198
217
ss << " , JitCacheFunctionSearchStarted=" ;
199
218
ss << ns_jitCachedFunctionSearchStarted / 1000000 << " ms"
200
219
<< " /" << count_jitCachedFunctionSearchStartedCount;
220
+
201
221
ss << " , InitializeProfiler=" ;
202
222
ss << ns_initializeProfiler / 1000000 << " ms"
203
223
<< " /" << count_initializeProfilerCount;
224
+
225
+ ss << " , EnqueueRequestRejitForLoadedModules=" ;
226
+ ss << ns_enqueueRequestRejitForLoadedModules / 1000000 << " ms"
227
+ << " /" << count_enqueueRequestRejitForLoadedModulesCount;
228
+
204
229
ss << " ]" ;
205
230
return ss.str ();
206
231
}
0 commit comments