Lines Matching +full:compute +full:- +full:cb
1 //===- FuzzerTracePC.h - Internal header for the Fuzzer ---------*- C++ -* ===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 //===----------------------------------------------------------------------===//
26 // because it seems cheaper this way than to compute some expensive
82 template <class Callback> size_t CollectFeatures(Callback CB) const;
100 void IterateCoveredFunctions(CallBack CB);
114 void ForEachObservedPC(CallBack CB) { in ForEachObservedPC() argument
116 CB(PC); in ForEachObservedPC()
129 bool PcIsFuncEntry(const PCTableEntry *TE) { return TE->PCFlags & 1; } in PcIsFuncEntry()
137 // Module represents the array of 8-bit counters split into regions
149 uint8_t *Stop() { return Regions[NumRegions - 1].Stop; } in Stop()
150 size_t Size() { return Stop() - Start(); } in Size()
153 return P - Start(); in Idx()
158 size_t NumModules; // linker-initialized.
162 void IterateCounterRegions(Callback CB) { in IterateCounterRegions() argument
165 CB(Modules[m].Regions[r]); in IterateCounterRegions()
188 const size_t StepMask = Step - 1; in ForEachNonZeroByte()
193 Handle8bitCounter(FirstFeature, P - Begin, V); in ForEachNonZeroByte()
201 Handle8bitCounter(FirstFeature, P - Begin + I, V); in ForEachNonZeroByte()
207 Handle8bitCounter(FirstFeature, P - Begin, V); in ForEachNonZeroByte()
208 return End - Begin; in ForEachNonZeroByte()
211 // Given a non-zero Counter returns a number in the range [0,7].
217 // Counter bucket: [1] [2] [3] [4-7] [8-15] [16-31] [32-127] [128+] in CounterToFeature()
272 auto StackDepthStepFunction = [](size_t A) -> size_t { in CollectFeatures()
278 Log2 -= 3; in CollectFeatures()