mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-14 11:08:06 +00:00
add eviction stat
This commit is contained in:
@ -704,6 +704,9 @@ typedef struct afl_state {
|
|||||||
/* How many queue entries currently have cached testcases */
|
/* How many queue entries currently have cached testcases */
|
||||||
u32 q_testcase_cache_count;
|
u32 q_testcase_cache_count;
|
||||||
|
|
||||||
|
/* How often did we evict from the cache */
|
||||||
|
u32 q_testcase_evictions;
|
||||||
|
|
||||||
/* Refs to each queue entry with cached testcase (for eviction, if cache_count
|
/* Refs to each queue entry with cached testcase (for eviction, if cache_count
|
||||||
* is too large) */
|
* is too large) */
|
||||||
struct queue_entry *q_testcase_cache[TESTCASE_ENTRIES];
|
struct queue_entry *q_testcase_cache[TESTCASE_ENTRIES];
|
||||||
|
@ -996,6 +996,7 @@ inline u8 *queue_testcase_get(afl_state_t *afl, struct queue_entry *q) {
|
|||||||
afl->q_testcase_cache_size -= old_cached->len;
|
afl->q_testcase_cache_size -= old_cached->len;
|
||||||
afl->q_testcase_cache[tid] = NULL;
|
afl->q_testcase_cache[tid] = NULL;
|
||||||
--afl->q_testcase_cache_count;
|
--afl->q_testcase_cache_count;
|
||||||
|
++afl->q_testcase_evictions;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,6 +167,7 @@ void write_stats_file(afl_state_t *afl, double bitmap_cvg, double stability,
|
|||||||
"havoc_expansion : %u\n"
|
"havoc_expansion : %u\n"
|
||||||
"testcache_size : %llu\n"
|
"testcache_size : %llu\n"
|
||||||
"testcache_count : %u\n"
|
"testcache_count : %u\n"
|
||||||
|
"testcache_evict : %u\n"
|
||||||
"afl_banner : %s\n"
|
"afl_banner : %s\n"
|
||||||
"afl_version : " VERSION
|
"afl_version : " VERSION
|
||||||
"\n"
|
"\n"
|
||||||
@ -202,7 +203,8 @@ void write_stats_file(afl_state_t *afl, double bitmap_cvg, double stability,
|
|||||||
#endif
|
#endif
|
||||||
t_bytes, afl->var_byte_count, afl->expand_havoc,
|
t_bytes, afl->var_byte_count, afl->expand_havoc,
|
||||||
afl->q_testcase_cache_size, afl->q_testcase_cache_count,
|
afl->q_testcase_cache_size, afl->q_testcase_cache_count,
|
||||||
afl->use_banner, afl->unicorn_mode ? "unicorn" : "",
|
afl->q_testcase_evictions, afl->use_banner,
|
||||||
|
afl->unicorn_mode ? "unicorn" : "",
|
||||||
afl->fsrv.qemu_mode ? "qemu " : "",
|
afl->fsrv.qemu_mode ? "qemu " : "",
|
||||||
afl->non_instrumented_mode ? " non_instrumented " : "",
|
afl->non_instrumented_mode ? " non_instrumented " : "",
|
||||||
afl->no_forkserver ? "no_fsrv " : "", afl->crash_mode ? "crash " : "",
|
afl->no_forkserver ? "no_fsrv " : "", afl->crash_mode ? "crash " : "",
|
||||||
|
Reference in New Issue
Block a user