mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
mpvcompile: use bytecode_ptr
This commit is contained in:
parent
3590f73151
commit
73ef7f1e44
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015-2016, Intel Corporation
|
* Copyright (c) 2015-2017, Intel Corporation
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
@ -309,9 +309,9 @@ const mpv_counter_info &findCounter(const vector<mpv_counter_info> &counters,
|
|||||||
return counters.front();
|
return counters.front();
|
||||||
}
|
}
|
||||||
|
|
||||||
aligned_unique_ptr<NFA> mpvCompile(const vector<raw_puff> &puffs_in,
|
bytecode_ptr<NFA> mpvCompile(const vector<raw_puff> &puffs_in,
|
||||||
const vector<raw_puff> &triggered_puffs,
|
const vector<raw_puff> &triggered_puffs,
|
||||||
const ReportManager &rm) {
|
const ReportManager &rm) {
|
||||||
assert(!puffs_in.empty() || !triggered_puffs.empty());
|
assert(!puffs_in.empty() || !triggered_puffs.empty());
|
||||||
u32 puffette_count = puffs_in.size() + triggered_puffs.size();
|
u32 puffette_count = puffs_in.size() + triggered_puffs.size();
|
||||||
|
|
||||||
@ -343,7 +343,7 @@ aligned_unique_ptr<NFA> mpvCompile(const vector<raw_puff> &puffs_in,
|
|||||||
|
|
||||||
DEBUG_PRINTF("%u puffs, len = %u\n", puffette_count, len);
|
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 *)
|
mpv_puffette *pa_base = (mpv_puffette *)
|
||||||
((char *)nfa.get() + sizeof(NFA) + sizeof(mpv)
|
((char *)nfa.get() + sizeof(NFA) + sizeof(mpv)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015-2016, Intel Corporation
|
* Copyright (c) 2015-2017, Intel Corporation
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
@ -30,7 +30,7 @@
|
|||||||
#define MPV_COMPILE_H
|
#define MPV_COMPILE_H
|
||||||
|
|
||||||
#include "ue2common.h"
|
#include "ue2common.h"
|
||||||
#include "util/alloc.h"
|
#include "util/bytecode_ptr.h"
|
||||||
#include "util/charreach.h"
|
#include "util/charreach.h"
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
@ -61,9 +61,9 @@ struct raw_puff {
|
|||||||
* puffs in the triggered_puffs vector are enabled when an TOP_N event is
|
* puffs in the triggered_puffs vector are enabled when an TOP_N event is
|
||||||
* delivered corresponding to their index in the vector
|
* delivered corresponding to their index in the vector
|
||||||
*/
|
*/
|
||||||
aligned_unique_ptr<NFA> mpvCompile(const std::vector<raw_puff> &puffs,
|
bytecode_ptr<NFA> mpvCompile(const std::vector<raw_puff> &puffs,
|
||||||
const std::vector<raw_puff> &triggered_puffs,
|
const std::vector<raw_puff> &triggered_puffs,
|
||||||
const ReportManager &rm);
|
const ReportManager &rm);
|
||||||
|
|
||||||
} // namespace ue2
|
} // namespace ue2
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user