@@ -240,63 +240,64 @@ estimate_perf_iterations(struct perf *p, unsigned long long runs, unsigned long
240
240
}
241
241
242
242
#define CALIBRATE (PERF , FUNC_CALL ) \
243
- { \
243
+ do { \
244
244
unsigned long long _i, _iter = 1; \
245
- perf_start(PERF); \
246
- FUNC_CALL; \
247
- perf_pause(PERF); \
245
+ perf_start(( PERF)); \
246
+ ( FUNC_CALL); \
247
+ perf_pause(( PERF)); \
248
248
\
249
- while (get_base_elapsed(PERF) < CALIBRATE_TIME) { \
250
- _iter = estimate_perf_iterations(PERF, _iter, 2 * CALIBRATE_TIME); \
251
- perf_start(PERF); \
249
+ while (get_base_elapsed(( PERF)) < CALIBRATE_TIME) { \
250
+ _iter = estimate_perf_iterations(( PERF) , _iter, 2 * CALIBRATE_TIME); \
251
+ perf_start(( PERF)); \
252
252
for (_i = 0; _i < _iter; _i++) { \
253
- FUNC_CALL; \
253
+ ( FUNC_CALL); \
254
254
} \
255
- perf_stop(PERF); \
255
+ perf_stop(( PERF)); \
256
256
} \
257
- (PERF)->iterations = _iter; \
258
- }
257
+ (( PERF)) ->iterations = _iter; \
258
+ } while (0)
259
259
260
260
#define PERFORMANCE_TEST (PERF , RUN_TIME , FUNC_CALL ) \
261
- { \
262
- unsigned long long _i, _iter = (PERF)->iterations; \
263
- unsigned long long _run_total = RUN_TIME; \
261
+ do { \
262
+ unsigned long long _i, _iter = (( PERF)) ->iterations; \
263
+ unsigned long long _run_total = ( RUN_TIME); \
264
264
_run_total *= UNIT_SCALE; \
265
- _iter = estimate_perf_iterations(PERF, _iter, _run_total); \
266
- (PERF)->iterations = 0; \
267
- perf_start(PERF); \
265
+ _iter = estimate_perf_iterations(( PERF) , _iter, _run_total); \
266
+ (( PERF)) ->iterations = 0; \
267
+ perf_start(( PERF)); \
268
268
for (_i = 0; _i < _iter; _i++) { \
269
- FUNC_CALL; \
269
+ ( FUNC_CALL); \
270
270
} \
271
- perf_pause(PERF); \
272
- (PERF)->iterations += _iter; \
271
+ perf_pause(( PERF)); \
272
+ (( PERF)) ->iterations += _iter; \
273
273
\
274
- if (get_base_elapsed(PERF) < _run_total && BENCHMARK_TYPE == BENCHMARK_MIN_TIME) { \
275
- _iter = estimate_perf_iterations(PERF, _iter, \
276
- _run_total - get_base_elapsed(PERF) + \
274
+ if (get_base_elapsed((PERF)) < _run_total && \
275
+ BENCHMARK_TYPE == BENCHMARK_MIN_TIME) { \
276
+ _iter = estimate_perf_iterations((PERF), _iter, \
277
+ _run_total - get_base_elapsed((PERF)) + \
277
278
(UNIT_SCALE / 16)); \
278
- perf_continue(PERF); \
279
+ perf_continue(( PERF)); \
279
280
for (_i = 0; _i < _iter; _i++) { \
280
- FUNC_CALL; \
281
+ ( FUNC_CALL); \
281
282
} \
282
- perf_pause(PERF); \
283
- (PERF)->iterations += _iter; \
283
+ perf_pause(( PERF)); \
284
+ (( PERF)) ->iterations += _iter; \
284
285
} \
285
- }
286
+ } while (0)
286
287
287
288
#define BENCHMARK (PERF , RUN_TIME , FUNC_CALL ) \
288
- { \
289
+ do { \
289
290
if ((RUN_TIME) > 0) { \
290
- CALIBRATE(PERF, FUNC_CALL); \
291
- PERFORMANCE_TEST(PERF, RUN_TIME, FUNC_CALL); \
291
+ CALIBRATE(( PERF), ( FUNC_CALL)); \
292
+ PERFORMANCE_TEST(( PERF), ( RUN_TIME), ( FUNC_CALL)); \
292
293
\
293
294
} else { \
294
- (PERF)->iterations = 1; \
295
- perf_start(PERF); \
296
- FUNC_CALL; \
297
- perf_stop(PERF); \
295
+ (( PERF)) ->iterations = 1; \
296
+ perf_start(( PERF)); \
297
+ ( FUNC_CALL); \
298
+ perf_stop(( PERF)); \
298
299
} \
299
- }
300
+ } while (0)
300
301
301
302
#ifdef USE_CYCLES
302
303
static inline void
0 commit comments