mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
hwlm_dump: take base filename, like NFA dump API
This commit is contained in:
parent
cbcc46444b
commit
bf3ced92f4
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* 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:
|
||||
@ -38,16 +38,19 @@
|
||||
#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);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* 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:
|
||||
@ -35,16 +35,16 @@
|
||||
|
||||
#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
|
||||
|
@ -2196,26 +2196,21 @@ void roseDumpPrograms(const vector<LitFragment> &fragments, const RoseEngine *t,
|
||||
|
||||
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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user