mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-11-18 10:10:35 +03:00
multibit, fatbit: make _size build-time only
This commit makes mmbit_size() and fatbit_size compile-time only, and adds a resource limit for very large multibits.
This commit is contained in:
committed by
Matthew Barr
parent
8b7b06d2a4
commit
e271781d95
@@ -309,9 +309,11 @@ struct RoseEngine {
|
||||
u32 historyRequired; /**< max amount of history required for streaming */
|
||||
u32 ekeyCount; /**< number of exhaustion keys */
|
||||
u32 dkeyCount; /**< number of dedupe keys */
|
||||
u32 dkeyLogSize; /**< size of fatbit for storing dkey log (bytes) */
|
||||
u32 invDkeyOffset; /**< offset to table mapping from dkeys to the external
|
||||
* report ids */
|
||||
u32 somLocationCount; /**< number of som locations required */
|
||||
u32 somLocationFatbitSize; /**< size of SOM location fatbit (bytes) */
|
||||
u32 rolesWithStateCount; // number of roles with entries in state bitset
|
||||
u32 stateSize; /* size of the state bitset
|
||||
* WARNING: not the size of the rose state */
|
||||
@@ -370,14 +372,18 @@ struct RoseEngine {
|
||||
u32 activeArrayCount; //number of nfas tracked in the active array
|
||||
u32 activeLeftCount; //number of nfas tracked in the active rose array
|
||||
u32 queueCount; /**< number of nfa queues */
|
||||
u32 activeQueueArraySize; //!< size of fatbit for active queues (bytes)
|
||||
|
||||
u32 eagerIterOffset; /**< offset to sparse iter for eager prefixes or 0 if
|
||||
* none */
|
||||
|
||||
/** \brief Number of keys used by CHECK_SET_HANDLED instructions in role
|
||||
* programs. Used to size the handled_roles fatbit in scratch. */
|
||||
* programs. */
|
||||
u32 handledKeyCount;
|
||||
|
||||
/** \brief Size of the handled keys fatbit in scratch (bytes). */
|
||||
u32 handledKeyFatbitSize;
|
||||
|
||||
u32 leftOffset;
|
||||
u32 roseCount;
|
||||
u32 lookaroundTableOffset; //!< base of lookaround offset list (of s8 values)
|
||||
@@ -412,9 +418,11 @@ struct RoseEngine {
|
||||
rose_group floating_group_mask; /* groups that are used by the ftable */
|
||||
u32 size; // (bytes)
|
||||
u32 delay_count; /* number of delayed literal ids. */
|
||||
u32 delay_fatbit_size; //!< size of each delay fatbit in scratch (bytes)
|
||||
u32 delay_base_id; /* literal id of the first delayed literal.
|
||||
* delayed literal ids are contiguous */
|
||||
u32 anchored_count; /* number of anchored literal ids */
|
||||
u32 anchored_fatbit_size; //!< size of each anch fatbit in scratch (bytes)
|
||||
u32 anchored_base_id; /* literal id of the first literal in the A table.
|
||||
* anchored literal ids are contiguous */
|
||||
u32 maxFloatingDelayedMatch; /* max offset that a delayed literal can
|
||||
|
||||
Reference in New Issue
Block a user