mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
RoseRuntimeState no longer needs to be packed
This structure only contains u8 values now. In the future we may wish to eliminate it entirely and store the few bits we need more directly.
This commit is contained in:
parent
435b08b984
commit
9eb328b455
@ -513,9 +513,14 @@ void fillStateOffsets(const RoseBuildImpl &tbi, u32 rolesWithStateCount,
|
||||
u32 activeLeftCount, u32 laggedRoseCount,
|
||||
u32 floatingStreamStateRequired, u32 historyRequired,
|
||||
RoseStateOffsets *so) {
|
||||
/* runtime state (including role state) first and needs to be u32-aligned */
|
||||
u32 curr_offset = sizeof(RoseRuntimeState)
|
||||
+ mmbit_size(rolesWithStateCount);
|
||||
u32 curr_offset = 0;
|
||||
|
||||
// First, runtime state (stores per-stream state, like whether we need a
|
||||
// delay rebuild or have been told to halt matching.)
|
||||
curr_offset += sizeof(RoseRuntimeState);
|
||||
|
||||
// Role state storage.
|
||||
curr_offset += mmbit_size(rolesWithStateCount);
|
||||
|
||||
so->activeLeafArray = curr_offset; /* TODO: limit size of array */
|
||||
curr_offset += mmbit_size(activeArrayCount);
|
||||
|
@ -476,19 +476,11 @@ struct RoseEngine {
|
||||
struct scatter_full_plan state_init;
|
||||
};
|
||||
|
||||
#if defined(_WIN32)
|
||||
#pragma pack(push, 1)
|
||||
#endif
|
||||
// Rose runtime state
|
||||
struct RoseRuntimeState {
|
||||
u8 flags; /* high bit true if delay rebuild needed */
|
||||
u8 broken; /* user has requested that we stop matching */
|
||||
#if defined(_WIN32)
|
||||
};
|
||||
#pragma pack(pop)
|
||||
#else
|
||||
} __attribute__((packed));
|
||||
#endif
|
||||
|
||||
struct ALIGN_CL_DIRECTIVE anchored_matcher_info {
|
||||
u32 next_offset; /* relative to this, 0 for end */
|
||||
|
Loading…
x
Reference in New Issue
Block a user