mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-11-20 10:56:40 +03:00
fdr: move long literal handling into Rose
Move the hash table used for long literal support in streaming mode from FDR to Rose, and introduce new instructions CHECK_LONG_LIT and CHECK_LONG_LIT_NOCASE for doing literal confirm for long literals. This simplifies FDR confirm, and guarantees that HWLM matchers will only be used for literals < 256 bytes long.
This commit is contained in:
committed by
Matthew Barr
parent
6ed30194ce
commit
68bf473e2e
@@ -56,6 +56,8 @@ namespace ue2 {
|
||||
|
||||
#define ROSE_GROUPS_MAX 64
|
||||
|
||||
#define ROSE_LONG_LITERAL_THRESHOLD_MIN 33
|
||||
|
||||
struct BoundaryReports;
|
||||
struct CastleProto;
|
||||
struct CompileContext;
|
||||
@@ -603,6 +605,9 @@ private:
|
||||
ReportID next_nfa_report;
|
||||
};
|
||||
|
||||
size_t calcLongLitThreshold(const RoseBuildImpl &build,
|
||||
const size_t historyRequired);
|
||||
|
||||
// Free functions, in rose_build_misc.cpp
|
||||
|
||||
bool hasAnchHistorySucc(const RoseGraph &g, RoseVertex v);
|
||||
|
||||
Reference in New Issue
Block a user