[llvm] r254824 - [libFuzzer] don't reload the corpus more than once every second

Kostya Serebryany via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 4 18:09:22 PST 2015


Author: kcc
Date: Fri Dec  4 20:09:22 2015
New Revision: 254824

URL: http://llvm.org/viewvc/llvm-project?rev=254824&view=rev
Log:
[libFuzzer] don't reload the corpus more than once every second

Modified:
    llvm/trunk/lib/Fuzzer/FuzzerLoop.cpp

Modified: llvm/trunk/lib/Fuzzer/FuzzerLoop.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/FuzzerLoop.cpp?rev=254824&r1=254823&r2=254824&view=diff
==============================================================================
--- llvm/trunk/lib/Fuzzer/FuzzerLoop.cpp (original)
+++ llvm/trunk/lib/Fuzzer/FuzzerLoop.cpp Fri Dec  4 20:09:22 2015
@@ -468,10 +468,15 @@ void Fuzzer::Drill() {
 }
 
 void Fuzzer::Loop() {
+  system_clock::time_point LastCorpusReload = system_clock::now();
   while (true) {
     size_t J1 = ChooseUnitIdxToMutate();;
     SyncCorpus();
-    RereadOutputCorpus();
+    auto Now = system_clock::now();
+    if (duration_cast<seconds>(Now - LastCorpusReload).count()) {
+      RereadOutputCorpus();
+      LastCorpusReload = Now;
+    }
     if (TotalNumberOfRuns >= Options.MaxNumberOfRuns)
       break;
     if (Options.MaxTotalTimeSec > 0 &&




More information about the llvm-commits mailing list