mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-11-18 02:00:36 +03:00
Multibyte acceleration compile side
This commit is contained in:
committed by
Matthew Barr
parent
081b3ef369
commit
87424713a7
@@ -32,6 +32,7 @@
|
||||
#include "ue2common.h"
|
||||
#include "util/charreach.h"
|
||||
#include "util/ue2_containers.h"
|
||||
#include "nfagraph/ng_limex_accel.h"
|
||||
|
||||
union AccelAux;
|
||||
|
||||
@@ -39,7 +40,9 @@ namespace ue2 {
|
||||
|
||||
struct AccelInfo {
|
||||
AccelInfo() : single_offset(0U), double_offset(0U),
|
||||
single_stops(CharReach::dot()) {}
|
||||
single_stops(CharReach::dot()),
|
||||
multiaccel_offset(0), ma_len1(0), ma_len2(0),
|
||||
ma_type(MultibyteAccelInfo::MAT_NONE) {}
|
||||
u32 single_offset; /**< offset correction to apply to single schemes */
|
||||
u32 double_offset; /**< offset correction to apply to double schemes */
|
||||
CharReach double_stop1; /**< single-byte accel stop literals for double
|
||||
@@ -47,6 +50,11 @@ struct AccelInfo {
|
||||
flat_set<std::pair<u8, u8>> double_stop2; /**< double-byte accel stop
|
||||
* literals */
|
||||
CharReach single_stops; /**< escapes for single byte acceleration */
|
||||
u32 multiaccel_offset; /**< offset correction to apply to multibyte schemes */
|
||||
CharReach multiaccel_stops; /**< escapes for multibyte acceleration */
|
||||
u32 ma_len1; /**< multiaccel len1 */
|
||||
u32 ma_len2; /**< multiaccel len2 */
|
||||
MultibyteAccelInfo::multiaccel_type ma_type; /**< multiaccel type */
|
||||
};
|
||||
|
||||
bool buildAccelAux(const AccelInfo &info, AccelAux *aux);
|
||||
|
||||
Reference in New Issue
Block a user