ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
CoreDSLCoverage.cpp
Go to the documentation of this file.
1#include <cstdarg>
2#include <map>
3
5#include "etiss/jit/Coverage.h"
6
7void vetiss_coverage_count(int count, va_list args);
8
9#ifdef ETISS_USE_COREDSL_COVERAGE
10extern "C" {
11 void etiss_coverage_count(int count, ...) {
12 std::va_list args;
13 va_start(args, count);
14 vetiss_coverage_count(count, args);
15 va_end(args);
16 }
17}
18#endif
19
20std::map<int, int> coverage_map;
21
22void vetiss_coverage_count(int count, va_list args) {
23 for (int i = 0; i < count; i++) {
24 coverage_map[va_arg(args, int)]++;
25 }
26}
void vetiss_coverage_count(int count, va_list args)
std::map< int, int > coverage_map
#define etiss_coverage_count(...)
Definition Coverage.h:12
#define va_arg(ap, type)
Definition stdarg.h:19
#define va_start(ap, param)
Definition stdarg.h:17
#define va_end(ap)
Definition stdarg.h:18
__builtin_va_list va_list
Definition stdarg.h:14