/*
- * Copyright (c) 2015-2016, 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:
return counters.front();
}
-aligned_unique_ptr<NFA> mpvCompile(const vector<raw_puff> &puffs_in,
- const vector<raw_puff> &triggered_puffs,
- const ReportManager &rm) {
+bytecode_ptr<NFA> mpvCompile(const vector<raw_puff> &puffs_in,
+ const vector<raw_puff> &triggered_puffs,
+ const ReportManager &rm) {
assert(!puffs_in.empty() || !triggered_puffs.empty());
u32 puffette_count = puffs_in.size() + triggered_puffs.size();
DEBUG_PRINTF("%u puffs, len = %u\n", puffette_count, len);
- aligned_unique_ptr<NFA> nfa = aligned_zmalloc_unique<NFA>(len);
+ auto nfa = make_bytecode_ptr<NFA>(len);
mpv_puffette *pa_base = (mpv_puffette *)
((char *)nfa.get() + sizeof(NFA) + sizeof(mpv)
/*
- * Copyright (c) 2015-2016, 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:
#define MPV_COMPILE_H
#include "ue2common.h"
-#include "util/alloc.h"
+#include "util/bytecode_ptr.h"
#include "util/charreach.h"
#include <memory>
* puffs in the triggered_puffs vector are enabled when an TOP_N event is
* delivered corresponding to their index in the vector
*/
-aligned_unique_ptr<NFA> mpvCompile(const std::vector<raw_puff> &puffs,
- const std::vector<raw_puff> &triggered_puffs,
- const ReportManager &rm);
+bytecode_ptr<NFA> mpvCompile(const std::vector<raw_puff> &puffs,
+ const std::vector<raw_puff> &triggered_puffs,
+ const ReportManager &rm);
} // namespace ue2