mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-11-18 10:10:35 +03:00
Rose: pack global state bits into one u8
Eliminate the RoseRuntimeState structure in favour of a single status byte that is stored in scratch and copied to/from stream state.
This commit is contained in:
committed by
Matthew Barr
parent
28f379d738
commit
9e9bb6a960
@@ -48,8 +48,6 @@ typedef u64a rose_group;
|
||||
#define MAX_DELAY (DELAY_SLOT_COUNT - 1)
|
||||
#define DELAY_MASK (DELAY_SLOT_COUNT - 1)
|
||||
|
||||
#define DELAY_FLOAT_DIRTY (1U << 7) /* delay literal matched in history */
|
||||
|
||||
// Direct report stuff
|
||||
#define LITERAL_DR_FLAG (1U << 31)
|
||||
#define LITERAL_MDR_FLAG ((1U << 30) | (1U << 31))
|
||||
@@ -214,7 +212,7 @@ struct NfaInfo {
|
||||
*
|
||||
* State not covered by this structure includes:
|
||||
*
|
||||
* -# the RoseRuntimeState structure
|
||||
* -# the first byte, containing the status bitmask
|
||||
* -# the role state multibit
|
||||
*/
|
||||
struct RoseStateOffsets {
|
||||
@@ -476,12 +474,6 @@ struct RoseEngine {
|
||||
struct scatter_full_plan state_init;
|
||||
};
|
||||
|
||||
// Rose runtime state
|
||||
struct RoseRuntimeState {
|
||||
u8 flags; /* high bit true if delay rebuild needed */
|
||||
u8 broken; /* user has requested that we stop matching */
|
||||
};
|
||||
|
||||
struct ALIGN_CL_DIRECTIVE anchored_matcher_info {
|
||||
u32 next_offset; /* relative to this, 0 for end */
|
||||
u32 state_offset; /* relative to anchorState */
|
||||
|
||||
Reference in New Issue
Block a user