/*
- * Copyright (c) 2015, Intel Corporation
+ * Copyright (c) 2015-2017, Intel Corporation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
#include "ue2common.h"
#include "fdr/fdr_dump.h"
#include "nfa/accel_dump.h"
-
-#include <cstdio>
+#include "util/dump_util.h"
#ifndef DUMP_SUPPORT
#error No dump support!
#endif
+using namespace std;
+
namespace ue2 {
-void hwlmPrintStats(const HWLM *h, FILE *f) {
+void hwlmGenerateDumpFiles(const HWLM *h, const string &base) {
+ StdioFile f(base + ".txt", "w");
+
switch (h->type) {
case HWLM_ENGINE_NOOD:
noodPrintStats((const noodTable *)HWLM_C_DATA(h), f);
/*
- * Copyright (c) 2015, Intel Corporation
+ * Copyright (c) 2015-2017, Intel Corporation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
#ifdef DUMP_SUPPORT
-#include <cstdio>
+#include <string>
struct HWLM;
namespace ue2 {
/** \brief Dump some information about the give HWLM structure. */
-void hwlmPrintStats(const HWLM *h, FILE *f);
+void hwlmGenerateDumpFiles(const HWLM *h, const std::string &base);
} // namespace ue2
-#endif
-#endif
+#endif // DUMP_SUPPORT
+#endif // HWLM_DUMP_H
static
void roseDumpLiteralMatchers(const RoseEngine *t, const string &base) {
- if (const HWLM *ftable = getFloatingMatcher(t)) {
- StdioFile f(base + "/lit_table_floating.txt", "w");
- hwlmPrintStats(ftable, f);
+ if (const HWLM *hwlm = getFloatingMatcher(t)) {
+ hwlmGenerateDumpFiles(hwlm, base + "/lit_table_floating");
}
- if (const HWLM *drtable = getDelayRebuildMatcher(t)) {
- StdioFile f(base + "/lit_table_delay_rebuild.txt", "w");
- hwlmPrintStats(drtable, f);
+ if (const HWLM *hwlm = getDelayRebuildMatcher(t)) {
+ hwlmGenerateDumpFiles(hwlm, base + "/lit_table_delay_rebuild");
}
- if (const HWLM *etable = getEodMatcher(t)) {
- StdioFile f(base + "/lit_table_eod.txt", "w");
- hwlmPrintStats(etable, f);
+ if (const HWLM *hwlm = getEodMatcher(t)) {
+ hwlmGenerateDumpFiles(hwlm, base + "/lit_table_eod");
}
- if (const HWLM *sbtable = getSmallBlockMatcher(t)) {
- StdioFile f(base + "/lit_table_small_block.txt", "w");
- hwlmPrintStats(sbtable, f);
+ if (const HWLM *hwlm = getSmallBlockMatcher(t)) {
+ hwlmGenerateDumpFiles(hwlm, base + "/lit_table_small_block");
}
-
}
void dumpRose(const RoseBuildImpl &build, const vector<LitFragment> &fragments,