From 09d2a5f6e14b518976de2f065d1724dcbc31e945 Mon Sep 17 00:00:00 2001 From: Kostya Serebryany Date: Thu, 22 Oct 2015 22:56:45 +0000 Subject: [PATCH] [libFuzzer] more refactoring the code that checks the coverage. NFC llvm-svn: 251075 --- llvm/lib/Fuzzer/FuzzerInternal.h | 2 +- llvm/lib/Fuzzer/FuzzerLoop.cpp | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/llvm/lib/Fuzzer/FuzzerInternal.h b/llvm/lib/Fuzzer/FuzzerInternal.h index 85f8615..919516a 100644 --- a/llvm/lib/Fuzzer/FuzzerInternal.h +++ b/llvm/lib/Fuzzer/FuzzerInternal.h @@ -128,7 +128,7 @@ class Fuzzer { void RunOneAndUpdateCorpus(Unit &U); void WriteToOutputCorpus(const Unit &U); void WriteUnitToFileWithPrefix(const Unit &U, const char *Prefix); - void PrintStats(const char *Where, size_t Cov, const char *End = "\n"); + void PrintStats(const char *Where, const char *End = "\n"); void PrintUnitInASCII(const Unit &U, const char *PrintAfter = ""); void SyncCorpus(); diff --git a/llvm/lib/Fuzzer/FuzzerLoop.cpp b/llvm/lib/Fuzzer/FuzzerLoop.cpp index 93478311..6ac8997 100644 --- a/llvm/lib/Fuzzer/FuzzerLoop.cpp +++ b/llvm/lib/Fuzzer/FuzzerLoop.cpp @@ -83,12 +83,13 @@ void Fuzzer::AlarmCallback() { } } -void Fuzzer::PrintStats(const char *Where, size_t Cov, const char *End) { +void Fuzzer::PrintStats(const char *Where, const char *End) { if (!Options.Verbosity) return; size_t Seconds = secondsSinceProcessStartUp(); size_t ExecPerSec = (Seconds ? TotalNumberOfRuns / Seconds : 0); Printf("#%zd\t%s", TotalNumberOfRuns, Where); - Printf(" cov: %zd", Cov); + if (LastRecordedBlockCoverage) + Printf(" cov: %zd", LastRecordedBlockCoverage); if (auto TB = TotalBits()) Printf(" bits: %zd", TB); Printf(" units: %zd exec/s: %zd", Corpus.size(), ExecPerSec); @@ -118,7 +119,7 @@ void Fuzzer::RereadOutputCorpus() { if (RunOne(CurrentUnit)) { Corpus.push_back(X); if (Options.Verbosity >= 1) - PrintStats("RELOAD", LastRecordedBlockCoverage); + PrintStats("RELOAD"); } } } @@ -130,7 +131,7 @@ void Fuzzer::ShuffleAndMinimize() { USF.GetRand().RandBool())); if (Options.Verbosity) Printf("PreferSmall: %d\n", PreferSmall); - PrintStats("READ ", 0); + PrintStats("READ "); std::vector NewCorpus; if (Options.ShuffleAtStartUp) { std::random_shuffle(Corpus.begin(), Corpus.end(), USF.GetRand()); @@ -157,7 +158,7 @@ void Fuzzer::ShuffleAndMinimize() { Corpus = NewCorpus; for (auto &X : Corpus) UnitHashesAddedToCorpus.insert(Hash(X)); - PrintStats("INITED", LastRecordedBlockCoverage); + PrintStats("INITED"); } bool Fuzzer::RunOne(const Unit &U) { @@ -172,7 +173,7 @@ bool Fuzzer::RunOne(const Unit &U) { auto TimeOfUnit = duration_cast(UnitStopTime - UnitStartTime).count(); if (!(TotalNumberOfRuns & (TotalNumberOfRuns - 1)) && Options.Verbosity) - PrintStats("pulse ", LastRecordedBlockCoverage); + PrintStats("pulse "); if (TimeOfUnit > TimeOfLongestUnitInSeconds && TimeOfUnit >= Options.ReportSlowUnits) { TimeOfLongestUnitInSeconds = TimeOfUnit; @@ -254,7 +255,7 @@ void Fuzzer::SaveCorpus() { void Fuzzer::ReportNewCoverage(const Unit &U) { Corpus.push_back(U); UnitHashesAddedToCorpus.insert(Hash(U)); - PrintStats("NEW ", LastRecordedBlockCoverage, ""); + PrintStats("NEW ", ""); if (Options.Verbosity) { Printf(" L: %zd", U.size()); if (U.size() < 30) { -- 2.7.4