LLVM  4.0.0
Public Member Functions | Static Public Attributes | List of all members
fuzzer::ValueBitMap Struct Reference

#include <FuzzerValueBitMap.h>

Collaboration diagram for fuzzer::ValueBitMap:
[legend]

Public Member Functions

void Reset ()
 
bool AddValue (uintptr_t Value)
 
bool Get (uintptr_t Idx)
 
size_t GetNumBitsSinceLastMerge () const
 
ATTRIBUTE_TARGET_POPCNT bool MergeFrom (ValueBitMap &Other)
 
template<class Callback >
void ForEach (Callback CB)
 

Static Public Attributes

static const size_t kMapSizeInBits = 65371
 
static const size_t kMapSizeInBitsAligned = 65536
 
static const size_t kBitsInWord = (sizeof(uintptr_t) * 8)
 
static const size_t kMapSizeInWords = kMapSizeInBitsAligned / kBitsInWord
 
static const size_t kNumberOfItems = kMapSizeInBits
 

Detailed Description

Definition at line 20 of file FuzzerValueBitMap.h.

Member Function Documentation

bool fuzzer::ValueBitMap::AddValue ( uintptr_t  Value)
inline

Definition at line 32 of file FuzzerValueBitMap.h.

References kBitsInWord, and kMapSizeInBits.

Referenced by fuzzer::TracePC::HandleValueProfile().

template<class Callback >
void fuzzer::ValueBitMap::ForEach ( Callback  CB)
inline

Definition at line 72 of file FuzzerValueBitMap.h.

References i, and kMapSizeInWords.

Referenced by fuzzer::TracePC::CollectFeatures().

bool fuzzer::ValueBitMap::Get ( uintptr_t  Idx)
inline

Definition at line 42 of file FuzzerValueBitMap.h.

References assert(), kBitsInWord, and kMapSizeInBits.

size_t fuzzer::ValueBitMap::GetNumBitsSinceLastMerge ( ) const
inline

Definition at line 49 of file FuzzerValueBitMap.h.

ATTRIBUTE_TARGET_POPCNT bool fuzzer::ValueBitMap::MergeFrom ( ValueBitMap Other)
inline

Definition at line 54 of file FuzzerValueBitMap.h.

References i, and kMapSizeInWords.

Referenced by fuzzer::TracePC::UpdateValueProfileMap().

void fuzzer::ValueBitMap::Reset ( )
inline

Definition at line 28 of file FuzzerValueBitMap.h.

Referenced by fuzzer::TracePC::ResetMaps().

Member Data Documentation

const size_t fuzzer::ValueBitMap::kBitsInWord = (sizeof(uintptr_t) * 8)
static

Definition at line 23 of file FuzzerValueBitMap.h.

Referenced by AddValue(), and Get().

const size_t fuzzer::ValueBitMap::kMapSizeInBits = 65371
static

Definition at line 21 of file FuzzerValueBitMap.h.

Referenced by AddValue(), and Get().

const size_t fuzzer::ValueBitMap::kMapSizeInBitsAligned = 65536
static

Definition at line 22 of file FuzzerValueBitMap.h.

const size_t fuzzer::ValueBitMap::kMapSizeInWords = kMapSizeInBitsAligned / kBitsInWord
static

Definition at line 24 of file FuzzerValueBitMap.h.

Referenced by ForEach(), and MergeFrom().

const size_t fuzzer::ValueBitMap::kNumberOfItems = kMapSizeInBits
static

Definition at line 26 of file FuzzerValueBitMap.h.


The documentation for this struct was generated from the following file: