|
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