Lines Matching refs:counters
31 corresponding counter in COUNTERS. If the VALUE is above or below
32 the interval, COUNTERS[STEPS] or COUNTERS[STEPS + 1] is increased
36 __gcov_interval_profiler (gcov_type *counters, gcov_type value,
41 counters[steps + 1]++;
43 counters[steps]++;
45 counters[delta]++;
51 corresponding counter in COUNTERS. If the VALUE is above or below
52 the interval, COUNTERS[STEPS] or COUNTERS[STEPS + 1] is increased
56 __gcov_interval_profiler_atomic (gcov_type *counters, gcov_type value,
61 __atomic_fetch_add (&counters[steps + 1], 1, __ATOMIC_RELAXED);
63 __atomic_fetch_add (&counters[steps], 1, __ATOMIC_RELAXED);
65 __atomic_fetch_add (&counters[delta], 1, __ATOMIC_RELAXED);
70 /* If VALUE is a power of two, COUNTERS[1] is incremented. Otherwise
71 COUNTERS[0] is incremented. */
74 __gcov_pow2_profiler (gcov_type *counters, gcov_type value)
77 counters[0]++;
79 counters[1]++;
84 /* If VALUE is a power of two, COUNTERS[1] is incremented. Otherwise
85 COUNTERS[0] is incremented. Function is thread-safe. */
88 __gcov_pow2_profiler_atomic (gcov_type *counters, gcov_type value)
91 __atomic_fetch_add (&counters[0], 1, __ATOMIC_RELAXED);
93 __atomic_fetch_add (&counters[1], 1, __ATOMIC_RELAXED);
100 __gcov_topn_values_profiler_body (gcov_type *counters, gcov_type value,
103 gcov_topn_add_value (counters, value, 1, use_atomic, 1);
108 __gcov_topn_values_profiler (gcov_type *counters, gcov_type value)
110 __gcov_topn_values_profiler_body (counters, value, 0);
116 /* Update one value profilers (COUNTERS) for a given VALUE.
119 of executions (COUNTERS[2]) is update with an atomic instruction.
120 Problem is that one cannot atomically update two counters
121 (COUNTERS[0] and COUNTERS[1]), for more information please read
126 __gcov_topn_values_profiler_atomic (gcov_type *counters, gcov_type value)
128 __gcov_topn_values_profiler_body (counters, value, 1);
163 __gcov_topn_values_profiler_body (__gcov_indirect_call.counters, value,
197 __gcov_average_profiler (gcov_type *counters, gcov_type value)
199 counters[0] += value;
200 counters[1] ++;
209 __gcov_average_profiler_atomic (gcov_type *counters, gcov_type value)
211 __atomic_fetch_add (&counters[0], value, __ATOMIC_RELAXED);
212 __atomic_fetch_add (&counters[1], 1, __ATOMIC_RELAXED);
220 __gcov_ior_profiler (gcov_type *counters, gcov_type value)
222 *counters |= value;
230 __gcov_ior_profiler_atomic (gcov_type *counters, gcov_type value)
232 __atomic_fetch_or (&counters[0], value, __ATOMIC_RELAXED);