[PATCH] D20085: [libfuzzer] Refactoring coverage state-management code..

Kostya Serebryany via llvm-commits llvm-commits at lists.llvm.org
Tue May 10 13:50:24 PDT 2016


kcc added a comment.

Correct me if I am wrong, but this change seems to add extra malloc call for every unit. 
Don't do that. 
Instead of creating a scratch copy on every execution we may want to have two copies: current and maximal. 
But no mallocs, please.


================
Comment at: lib/Fuzzer/FuzzerLoop.cpp:363
@@ -314,2 +362,3 @@
 
-  PrepareCoverageBeforeRun();
+  Coverage C;
+  CoverageController::Prepare(Options, &C);
----------------
Will this cause extra memory allocations to happen for every execution of RunOne()? 

================
Comment at: lib/Fuzzer/FuzzerTracePC.h:1
@@ +1,2 @@
+//===- FuzzerTracePC.h - INTERNAL - Path tracer i-face. --------*- C++ -* ===//
+//
----------------
i-face? really? 

I don't want to expose this in a header file. 
I see why you did this (to have mergeable objects), but that might be a bad idea because of extra memory allocations. 


http://reviews.llvm.org/D20085





More information about the llvm-commits mailing list