|
55 | 55 | LOGALWAYS(msg); \ |
56 | 56 | } while(0) |
57 | 57 |
|
| 58 | +#define STRESS_LOG_WRITE(facility, level, msg, ...) do { \ |
| 59 | + if (StressLog::LogOn(facility, level)) \ |
| 60 | + StressLog::LogMsg(facility, level, StressLogMsg(msg, __VA_ARGS__)); \ |
| 61 | + LOG((facility, level, msg, __VA_ARGS__)); \ |
| 62 | + } while(0) |
| 63 | + |
58 | 64 | #define STRESS_LOG0(facility, level, msg) do { \ |
59 | 65 | if (StressLog::LogOn(facility, level)) \ |
60 | 66 | StressLog::LogMsg(level, facility, StressLogMsg(msg)); \ |
61 | 67 | LOG((facility, level, msg)); \ |
62 | 68 | } while(0) |
63 | 69 |
|
64 | | -#define STRESS_LOG1(facility, level, msg, data1) do { \ |
65 | | - if (StressLog::LogOn(facility, level)) \ |
66 | | - StressLog::LogMsg(level, facility, \ |
67 | | - StressLogMsg(msg, (void*)(size_t)(data1))); \ |
68 | | - LOG((facility, level, msg, data1)); \ |
69 | | - } while(0) |
| 70 | +#define STRESS_LOG1(facility, level, msg, data1) \ |
| 71 | + STRESS_LOG_WRITE(facility, level, msg, data1) |
70 | 72 |
|
71 | | -#define STRESS_LOG2(facility, level, msg, data1, data2) do { \ |
72 | | - if (StressLog::LogOn(facility, level)) \ |
73 | | - StressLog::LogMsg(level, facility, \ |
74 | | - StressLogMsg(msg, (void*)(size_t)(data1), (void*)(size_t)(data2))); \ |
75 | | - LOG((facility, level, msg, data1, data2)); \ |
76 | | - } while(0) |
| 73 | +#define STRESS_LOG2(facility, level, msg, data1, data2) \ |
| 74 | + STRESS_LOG_WRITE(facility, level, msg, data1, data2) |
77 | 75 |
|
78 | | -#define STRESS_LOG2_CHECK_EE_STARTED(facility, level, msg, data1, data2) do { \ |
79 | | - if (g_fEEStarted) \ |
80 | | - STRESS_LOG2(facility, level, msg, data1, data2); \ |
81 | | - else \ |
82 | | - LOG((facility, level, msg, data1, data2)); \ |
83 | | - } while(0) |
84 | | - |
85 | | -#define STRESS_LOG3(facility, level, msg, data1, data2, data3) do { \ |
86 | | - if (StressLog::LogOn(facility, level)) \ |
87 | | - StressLog::LogMsg(level, facility, \ |
88 | | - StressLogMsg(msg, \ |
89 | | - (void*)(size_t)(data1),(void*)(size_t)(data2),(void*)(size_t)(data3))); \ |
90 | | - LOG((facility, level, msg, data1, data2, data3)); \ |
91 | | - } while(0) |
| 76 | +#define STRESS_LOG3(facility, level, msg, data1, data2, data3) \ |
| 77 | + STRESS_LOG_WRITE(facility, level, msg, data1, data2, data3) |
92 | 78 |
|
93 | | -#define STRESS_LOG4(facility, level, msg, data1, data2, data3, data4) do { \ |
94 | | - if (StressLog::LogOn(facility, level)) \ |
95 | | - StressLog::LogMsg(level, facility, \ |
96 | | - StressLogMsg(msg, (void*)(size_t)(data1),(void*)(size_t)(data2), \ |
97 | | - (void*)(size_t)(data3),(void*)(size_t)(data4))); \ |
98 | | - LOG((facility, level, msg, data1, data2, data3, data4)); \ |
99 | | - } while(0) |
| 79 | +#define STRESS_LOG4(facility, level, msg, data1, data2, data3, data4) \ |
| 80 | + STRESS_LOG_WRITE(facility, level, msg, data1, data2, data3, data4) |
100 | 81 |
|
101 | | -#define STRESS_LOG5(facility, level, msg, data1, data2, data3, data4, data5) do { \ |
102 | | - if (StressLog::LogOn(facility, level)) \ |
103 | | - StressLog::LogMsg(level, facility, 5, msg, (void*)(size_t)(data1), \ |
104 | | - (void*)(size_t)(data2),(void*)(size_t)(data3),(void*)(size_t)(data4), \ |
105 | | - (void*)(size_t)(data5)); \ |
106 | | - LOG((facility, level, msg, data1, data2, data3, data4, data5)); \ |
107 | | - } while(0) |
| 82 | +#define STRESS_LOG5(facility, level, msg, data1, data2, data3, data4, data5) \ |
| 83 | + STRESS_LOG_WRITE(facility, level, msg, data1, data2, data3, data4, data5) |
108 | 84 |
|
109 | | -#define STRESS_LOG6(facility, level, msg, data1, data2, data3, data4, data5, data6) do { \ |
110 | | - if (StressLog::LogOn(facility, level)) \ |
111 | | - StressLog::LogMsg(level, facility, 6, msg, (void*)(size_t)(data1), \ |
112 | | - (void*)(size_t)(data2),(void*)(size_t)(data3),(void*)(size_t)(data4), \ |
113 | | - (void*)(size_t)(data5), (void*)(size_t)(data6)); \ |
114 | | - LOG((facility, level, msg, data1, data2, data3, data4, data5, data6)); \ |
115 | | - } while(0) |
| 85 | +#define STRESS_LOG6(facility, level, msg, data1, data2, data3, data4, data5, data6) \ |
| 86 | + STRESS_LOG_WRITE(facility, level, msg, data1, data2, data3, data4, data5, data6) |
116 | 87 |
|
117 | | -#define STRESS_LOG7(facility, level, msg, data1, data2, data3, data4, data5, data6, data7) do { \ |
118 | | - if (StressLog::LogOn(facility, level)) \ |
119 | | - StressLog::LogMsg(level, facility, 7, msg, (void*)(size_t)(data1), \ |
120 | | - (void*)(size_t)(data2),(void*)(size_t)(data3),(void*)(size_t)(data4), \ |
121 | | - (void*)(size_t)(data5), (void*)(size_t)(data6), (void*)(size_t)(data7)); \ |
122 | | - LOG((facility, level, msg, data1, data2, data3, data4, data5, data6, data7)); \ |
123 | | - } while(0) |
| 88 | +#define STRESS_LOG7(facility, level, msg, data1, data2, data3, data4, data5, data6, data7) \ |
| 89 | + STRESS_LOG_WRITE(facility, level, msg, data1, data2, data3, data4, data5, data6, data7) |
124 | 90 |
|
125 | 91 | #define LOGALWAYS(msg) |
126 | 92 |
|
@@ -205,200 +171,53 @@ struct StressLogMsg |
205 | 171 | const char* m_format; |
206 | 172 | void* m_args[16]; |
207 | 173 |
|
208 | | - StressLogMsg(const char* format) : m_cArgs(0), m_format(format) |
209 | | - { |
210 | | - } |
211 | | - |
212 | | - template < typename T1 > |
213 | | - StressLogMsg(const char* format, T1 data1) : m_cArgs(1), m_format(format) |
214 | | - { |
215 | | - static_assert_no_msg(sizeof(T1) <= sizeof(void*)); |
216 | | - m_args[0] = (void*)(size_t)data1; |
217 | | - } |
218 | | - |
219 | | - template < typename T1, typename T2 > |
220 | | - StressLogMsg(const char* format, T1 data1, T2 data2) : m_cArgs(2), m_format(format) |
221 | | - { |
222 | | - static_assert_no_msg(sizeof(T1) <= sizeof(void*) && sizeof(T2) <= sizeof(void*)); |
223 | | - m_args[0] = (void*)(size_t)data1; |
224 | | - m_args[1] = (void*)(size_t)data2; |
225 | | - } |
226 | | - |
227 | | - template < typename T1, typename T2, typename T3 > |
228 | | - StressLogMsg(const char* format, T1 data1, T2 data2, T3 data3) : m_cArgs(3), m_format(format) |
229 | | - { |
230 | | - static_assert_no_msg(sizeof(T1) <= sizeof(void*) && sizeof(T2) <= sizeof(void*) && sizeof(T3) <= sizeof(void*)); |
231 | | - m_args[0] = (void*)(size_t)data1; |
232 | | - m_args[1] = (void*)(size_t)data2; |
233 | | - m_args[2] = (void*)(size_t)data3; |
234 | | - } |
235 | | - |
236 | | - template < typename T1, typename T2, typename T3, typename T4 > |
237 | | - StressLogMsg(const char* format, T1 data1, T2 data2, T3 data3, T4 data4) : m_cArgs(4), m_format(format) |
238 | | - { |
239 | | - static_assert_no_msg(sizeof(T1) <= sizeof(void*) && sizeof(T2) <= sizeof(void*) && sizeof(T3) <= sizeof(void*) && sizeof(T4) <= sizeof(void*)); |
240 | | - m_args[0] = (void*)(size_t)data1; |
241 | | - m_args[1] = (void*)(size_t)data2; |
242 | | - m_args[2] = (void*)(size_t)data3; |
243 | | - m_args[3] = (void*)(size_t)data4; |
244 | | - } |
245 | | - |
246 | | - template < typename T1, typename T2, typename T3, typename T4, typename T5 > |
247 | | - StressLogMsg(const char* format, T1 data1, T2 data2, T3 data3, T4 data4, T5 data5) : m_cArgs(5), m_format(format) |
| 174 | + template<typename T> |
| 175 | + static void* ConvertArgument(T arg) |
248 | 176 | { |
249 | | - static_assert_no_msg(sizeof(T1) <= sizeof(void*) && sizeof(T2) <= sizeof(void*) && sizeof(T3) <= sizeof(void*) && sizeof(T4) <= sizeof(void*) && sizeof(T5) <= sizeof(void*)); |
250 | | - m_args[0] = (void*)(size_t)data1; |
251 | | - m_args[1] = (void*)(size_t)data2; |
252 | | - m_args[2] = (void*)(size_t)data3; |
253 | | - m_args[3] = (void*)(size_t)data4; |
254 | | - m_args[4] = (void*)(size_t)data5; |
| 177 | + static_assert_no_msg(sizeof(T) <= sizeof(void*)); |
| 178 | + return (void*)(size_t)arg; |
255 | 179 | } |
256 | 180 |
|
257 | | - template < typename T1, typename T2, typename T3, typename T4, typename T5, typename T6 > |
258 | | - StressLogMsg(const char* format, T1 data1, T2 data2, T3 data3, T4 data4, T5 data5, T6 data6) : m_cArgs(6), m_format(format) |
259 | | - { |
260 | | - static_assert_no_msg(sizeof(T1) <= sizeof(void*) && sizeof(T2) <= sizeof(void*) && sizeof(T3) <= sizeof(void*) && sizeof(T4) <= sizeof(void*) && sizeof(T5) <= sizeof(void*) && sizeof(T6) <= sizeof(void*)); |
261 | | - m_args[0] = (void*)(size_t)data1; |
262 | | - m_args[1] = (void*)(size_t)data2; |
263 | | - m_args[2] = (void*)(size_t)data3; |
264 | | - m_args[3] = (void*)(size_t)data4; |
265 | | - m_args[4] = (void*)(size_t)data5; |
266 | | - m_args[5] = (void*)(size_t)data6; |
267 | | - } |
268 | | - |
269 | | - template < typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7 > |
270 | | - StressLogMsg(const char* format, T1 data1, T2 data2, T3 data3, T4 data4, T5 data5, T6 data6, T7 data7) : m_cArgs(7), m_format(format) |
271 | | - { |
272 | | - static_assert_no_msg(sizeof(T1) <= sizeof(void*) && sizeof(T2) <= sizeof(void*) && sizeof(T3) <= sizeof(void*) && sizeof(T4) <= sizeof(void*) && sizeof(T5) <= sizeof(void*) && sizeof(T6) <= sizeof(void*) && sizeof(T7) <= sizeof(void*)); |
273 | | - m_args[0] = (void*)(size_t)data1; |
274 | | - m_args[1] = (void*)(size_t)data2; |
275 | | - m_args[2] = (void*)(size_t)data3; |
276 | | - m_args[3] = (void*)(size_t)data4; |
277 | | - m_args[4] = (void*)(size_t)data5; |
278 | | - m_args[5] = (void*)(size_t)data6; |
279 | | - m_args[6] = (void*)(size_t)data7; |
280 | | - } |
281 | | - |
282 | | - template < typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8 > |
283 | | - StressLogMsg(const char* format, T1 data1, T2 data2, T3 data3, T4 data4, T5 data5, T6 data6, T7 data7, T8 data8) : m_cArgs(8), m_format(format) |
284 | | - { |
285 | | - static_assert_no_msg(sizeof(T1) <= sizeof(void*) && sizeof(T2) <= sizeof(void*) && sizeof(T3) <= sizeof(void*) && sizeof(T4) <= sizeof(void*) && sizeof(T5) <= sizeof(void*) && sizeof(T6) <= sizeof(void*) && sizeof(T7) <= sizeof(void*) && sizeof(T8) <= sizeof(void*)); |
286 | | - m_args[0] = (void*)(size_t)data1; |
287 | | - m_args[1] = (void*)(size_t)data2; |
288 | | - m_args[2] = (void*)(size_t)data3; |
289 | | - m_args[3] = (void*)(size_t)data4; |
290 | | - m_args[4] = (void*)(size_t)data5; |
291 | | - m_args[5] = (void*)(size_t)data6; |
292 | | - m_args[6] = (void*)(size_t)data7; |
293 | | - m_args[7] = (void*)(size_t)data8; |
294 | | - } |
295 | | - |
296 | | - template < typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9 > |
297 | | - StressLogMsg(const char* format, T1 data1, T2 data2, T3 data3, T4 data4, T5 data5, T6 data6, T7 data7, T8 data8, T9 data9) : m_cArgs(9), m_format(format) |
298 | | - { |
299 | | - static_assert_no_msg(sizeof(T1) <= sizeof(void*) && sizeof(T2) <= sizeof(void*) && sizeof(T3) <= sizeof(void*) && sizeof(T4) <= sizeof(void*) && sizeof(T5) <= sizeof(void*) && sizeof(T6) <= sizeof(void*) && sizeof(T7) <= sizeof(void*) && sizeof(T8) <= sizeof(void*) && sizeof(T9) <= sizeof(void*)); |
300 | | - m_args[0] = (void*)(size_t)data1; |
301 | | - m_args[1] = (void*)(size_t)data2; |
302 | | - m_args[2] = (void*)(size_t)data3; |
303 | | - m_args[3] = (void*)(size_t)data4; |
304 | | - m_args[4] = (void*)(size_t)data5; |
305 | | - m_args[5] = (void*)(size_t)data6; |
306 | | - m_args[6] = (void*)(size_t)data7; |
307 | | - m_args[7] = (void*)(size_t)data8; |
308 | | - m_args[8] = (void*)(size_t)data9; |
309 | | - } |
310 | | - |
311 | | - template < typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10 > |
312 | | - StressLogMsg(const char* format, T1 data1, T2 data2, T3 data3, T4 data4, T5 data5, T6 data6, T7 data7, T8 data8, T9 data9, T10 data10) : m_cArgs(10), m_format(format) |
| 181 | + StressLogMsg(const char* format) : m_cArgs(0), m_format(format) |
313 | 182 | { |
314 | | - static_assert_no_msg(sizeof(T1) <= sizeof(void*) && sizeof(T2) <= sizeof(void*) && sizeof(T3) <= sizeof(void*) && sizeof(T4) <= sizeof(void*) && sizeof(T5) <= sizeof(void*) && sizeof(T6) <= sizeof(void*) && sizeof(T7) <= sizeof(void*) && sizeof(T8) <= sizeof(void*) && sizeof(T9) <= sizeof(void*) && sizeof(T10) <= sizeof(void*)); |
315 | | - m_args[0] = (void*)(size_t)data1; |
316 | | - m_args[1] = (void*)(size_t)data2; |
317 | | - m_args[2] = (void*)(size_t)data3; |
318 | | - m_args[3] = (void*)(size_t)data4; |
319 | | - m_args[4] = (void*)(size_t)data5; |
320 | | - m_args[5] = (void*)(size_t)data6; |
321 | | - m_args[6] = (void*)(size_t)data7; |
322 | | - m_args[7] = (void*)(size_t)data8; |
323 | | - m_args[8] = (void*)(size_t)data9; |
324 | | - m_args[9] = (void*)(size_t)data10; |
325 | 183 | } |
326 | 184 |
|
327 | | - template < typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11 > |
328 | | - StressLogMsg(const char* format, T1 data1, T2 data2, T3 data3, T4 data4, T5 data5, T6 data6, T7 data7, T8 data8, T9 data9, T10 data10, T11 data11) : m_cArgs(11), m_format(format) |
| 185 | + template<typename... Ts> |
| 186 | + StressLogMsg(const char* format, Ts... args) |
| 187 | + : m_cArgs(sizeof...(args)) |
| 188 | + , m_format(format) |
| 189 | + , m_args{ ConvertArgument(args)... } |
329 | 190 | { |
330 | | - static_assert_no_msg(sizeof(T1) <= sizeof(void*) && sizeof(T2) <= sizeof(void*) && sizeof(T3) <= sizeof(void*) && sizeof(T4) <= sizeof(void*) && sizeof(T5) <= sizeof(void*) && sizeof(T6) <= sizeof(void*) && sizeof(T7) <= sizeof(void*) && sizeof(T8) <= sizeof(void*) && sizeof(T9) <= sizeof(void*) && sizeof(T10) <= sizeof(void*) && sizeof(T11) <= sizeof(void*)); |
331 | | - m_args[0] = (void*)(size_t)data1; |
332 | | - m_args[1] = (void*)(size_t)data2; |
333 | | - m_args[2] = (void*)(size_t)data3; |
334 | | - m_args[3] = (void*)(size_t)data4; |
335 | | - m_args[4] = (void*)(size_t)data5; |
336 | | - m_args[5] = (void*)(size_t)data6; |
337 | | - m_args[6] = (void*)(size_t)data7; |
338 | | - m_args[7] = (void*)(size_t)data8; |
339 | | - m_args[8] = (void*)(size_t)data9; |
340 | | - m_args[9] = (void*)(size_t)data10; |
341 | | - m_args[10] = (void*)(size_t)data11; |
| 191 | + static_assert_no_msg(sizeof...(args) <= ARRAY_SIZE(m_args)); |
342 | 192 | } |
| 193 | +}; |
343 | 194 |
|
344 | | - template < typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12 > |
345 | | - StressLogMsg(const char* format, T1 data1, T2 data2, T3 data3, T4 data4, T5 data5, T6 data6, T7 data7, T8 data8, T9 data9, T10 data10, T11 data11, T12 data12) : m_cArgs(12), m_format(format) |
346 | | - { |
347 | | - static_assert_no_msg(sizeof(T1) <= sizeof(void*) && sizeof(T2) <= sizeof(void*) && sizeof(T3) <= sizeof(void*) && sizeof(T4) <= sizeof(void*) && sizeof(T5) <= sizeof(void*) && sizeof(T6) <= sizeof(void*) && sizeof(T7) <= sizeof(void*) && sizeof(T8) <= sizeof(void*) && sizeof(T9) <= sizeof(void*) && sizeof(T10) <= sizeof(void*) && sizeof(T11) <= sizeof(void*) && sizeof(T12) <= sizeof(void*)); |
348 | | - m_args[0] = (void*)(size_t)data1; |
349 | | - m_args[1] = (void*)(size_t)data2; |
350 | | - m_args[2] = (void*)(size_t)data3; |
351 | | - m_args[3] = (void*)(size_t)data4; |
352 | | - m_args[4] = (void*)(size_t)data5; |
353 | | - m_args[5] = (void*)(size_t)data6; |
354 | | - m_args[6] = (void*)(size_t)data7; |
355 | | - m_args[7] = (void*)(size_t)data8; |
356 | | - m_args[8] = (void*)(size_t)data9; |
357 | | - m_args[9] = (void*)(size_t)data10; |
358 | | - m_args[10] = (void*)(size_t)data11; |
359 | | - m_args[11] = (void*)(size_t)data12; |
360 | | - } |
| 195 | +template<> |
| 196 | +void* StressLogMsg::ConvertArgument(float arg) = delete; |
361 | 197 |
|
| 198 | +#if TARGET_64BIT |
| 199 | +template<> |
| 200 | +inline void* StressLogMsg::ConvertArgument(double arg) |
| 201 | +{ |
| 202 | + return (void*)(size_t)(*((uint64_t*)&arg)); |
| 203 | +} |
| 204 | +#else |
| 205 | +template<> |
| 206 | +void* StressLogMsg::ConvertArgument(double arg) = delete; |
362 | 207 |
|
363 | | - template < typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13 > |
364 | | - StressLogMsg(const char* format, T1 data1, T2 data2, T3 data3, T4 data4, T5 data5, T6 data6, T7 data7, T8 data8, T9 data9, T10 data10, T11 data11, T12 data12, T13 data13) : m_cArgs(13), m_format(format) |
365 | | - { |
366 | | - static_assert_no_msg(sizeof(T1) <= sizeof(void*) && sizeof(T2) <= sizeof(void*) && sizeof(T3) <= sizeof(void*) && sizeof(T4) <= sizeof(void*) && sizeof(T5) <= sizeof(void*) && sizeof(T6) <= sizeof(void*) && sizeof(T7) <= sizeof(void*) && sizeof(T8) <= sizeof(void*) && sizeof(T9) <= sizeof(void*) && sizeof(T10) <= sizeof(void*) && sizeof(T11) <= sizeof(void*) && sizeof(T12) <= sizeof(void*) && sizeof(T13) <= sizeof(void*)); |
367 | | - m_args[0] = (void*)(size_t)data1; |
368 | | - m_args[1] = (void*)(size_t)data2; |
369 | | - m_args[2] = (void*)(size_t)data3; |
370 | | - m_args[3] = (void*)(size_t)data4; |
371 | | - m_args[4] = (void*)(size_t)data5; |
372 | | - m_args[5] = (void*)(size_t)data6; |
373 | | - m_args[6] = (void*)(size_t)data7; |
374 | | - m_args[7] = (void*)(size_t)data8; |
375 | | - m_args[8] = (void*)(size_t)data9; |
376 | | - m_args[9] = (void*)(size_t)data10; |
377 | | - m_args[10] = (void*)(size_t)data11; |
378 | | - m_args[11] = (void*)(size_t)data12; |
379 | | - m_args[12] = (void*)(size_t)data13; |
380 | | - } |
| 208 | +// COMPAT: Truncate 64-bit integer arguments to 32-bit |
| 209 | +template<> |
| 210 | +inline void* StressLogMsg::ConvertArgument(uint64_t arg) |
| 211 | +{ |
| 212 | + return (void*)(size_t)arg; |
| 213 | +} |
381 | 214 |
|
382 | | - template < typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14 > |
383 | | - StressLogMsg(const char* format, T1 data1, T2 data2, T3 data3, T4 data4, T5 data5, T6 data6, T7 data7, T8 data8, T9 data9, T10 data10, T11 data11, T12 data12, T13 data13, T14 data14) : m_cArgs(14), m_format(format) |
384 | | - { |
385 | | - static_assert_no_msg(sizeof(T1) <= sizeof(void*) && sizeof(T2) <= sizeof(void*) && sizeof(T3) <= sizeof(void*) && sizeof(T4) <= sizeof(void*) && sizeof(T5) <= sizeof(void*) && sizeof(T6) <= sizeof(void*) && sizeof(T7) <= sizeof(void*) && sizeof(T8) <= sizeof(void*) && sizeof(T9) <= sizeof(void*) && sizeof(T10) <= sizeof(void*) && sizeof(T11) <= sizeof(void*) && sizeof(T12) <= sizeof(void*) && sizeof(T13) <= sizeof(void*) && sizeof(T14) <= sizeof(void*)); |
386 | | - m_args[0] = (void*)(size_t)data1; |
387 | | - m_args[1] = (void*)(size_t)data2; |
388 | | - m_args[2] = (void*)(size_t)data3; |
389 | | - m_args[3] = (void*)(size_t)data4; |
390 | | - m_args[4] = (void*)(size_t)data5; |
391 | | - m_args[5] = (void*)(size_t)data6; |
392 | | - m_args[6] = (void*)(size_t)data7; |
393 | | - m_args[7] = (void*)(size_t)data8; |
394 | | - m_args[8] = (void*)(size_t)data9; |
395 | | - m_args[9] = (void*)(size_t)data10; |
396 | | - m_args[10] = (void*)(size_t)data11; |
397 | | - m_args[11] = (void*)(size_t)data12; |
398 | | - m_args[12] = (void*)(size_t)data13; |
399 | | - m_args[13] = (void*)(size_t)data14; |
400 | | - } |
401 | | -}; |
| 215 | +template<> |
| 216 | +inline void* StressLogMsg::ConvertArgument(int64_t arg) |
| 217 | +{ |
| 218 | + return (void*)(size_t)arg; |
| 219 | +} |
| 220 | +#endif |
402 | 221 |
|
403 | 222 | class StressLog |
404 | 223 | { |
|
0 commit comments