[PATCH] D48054: [libFuzzer] Mutation tracking and logging implemented
Kodé Williams via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 20 10:01:29 PDT 2018
kodewilliams marked 8 inline comments as done and an inline comment as not done.
kodewilliams added inline comments.
================
Comment at: lib/fuzzer/FuzzerMutate.cpp:44
+ {&MutationDispatcher::Mutate_CopyPart, CopyPart},
+ {&MutationDispatcher::Mutate_CrossOver, CrossOverData},
{&MutationDispatcher::Mutate_AddWordFromManualDictionary,
----------------
metzman wrote:
> Same as above, please change to `CrossOver`
I had to change it because there is a function that exists called CrossOver and it was the cause of those template errors. Same goes for ChangeBinInt instead of using ChangeBinaryInteger.
================
Comment at: lib/fuzzer/FuzzerMutate.cpp:490
+ for (auto M : CurrentMutatorSequence) {
+ auto currentMutation = kMutationNames.find(M.Identifier);
+ Printf("%s-", currentMutation->second.c_str());
----------------
metzman wrote:
> Even though the lookuptime is constant, I don't like that we are slowing down fuzzing even when this option is not used.
> We wouldn't need to do this if the map was string -> enum Value.
The Mutator struct doesnt have a name anymore, it just has the function pointer and an identifier of type MutationType, and as a result, there has to be some lookup in the unordered_map for the name regardless
Repository:
rCRT Compiler Runtime
https://reviews.llvm.org/D48054
More information about the llvm-commits
mailing list