Konstantinos Margaritis
e35b88f2c8
use STL make_unique, remove wrapper header, breaks C++17 compilation
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
556206f138
replace push_back by emplace_back where possible
2021-10-12 11:51:33 +03:00
Hong, Yang A
d71515be04
DFA: use sherman economically
2021-01-25 14:13:13 +02:00
Hong, Yang A
805a550a0a
mcclellan: wide state fixes for sanitisers and accept state construction
2019-01-21 09:58:18 +08:00
Hong, Yang A
c06d5e1c14
DFA state compression: 16-bit wide and sherman co-exist
2019-01-21 09:56:37 +08:00
Justin Viiret
e65479dae5
mcclellancompile: MAX_SHERMAN_LIST_LEN can be 9
2018-06-27 13:39:10 +08:00
Hong, Yang A
ae918116ab
find_better_daddy: position change
2017-09-18 13:31:09 +10:00
Justin Viiret
58c3de0d33
mcclellancompile: don't copy dstate unnecessarily
2017-09-18 13:29:33 +10:00
Justin Viiret
d5b3f2b508
gatherReports: fewer map lookups
2017-09-18 13:26:05 +10:00
Justin Viiret
9cf66b6ac9
util: switch from Boost to std::unordered set/map
...
This commit replaces the ue2::unordered_{set,map} types with their STL
versions, with some new hashing utilities in util/hash.h. The new types
ue2_unordered_set<T> and ue2_unordered_map<Key, T> default to using the
ue2_hasher.
The header util/ue2_containers.h has been removed, and the flat_set/map
containers moved to util/flat_containers.h.
2017-08-21 11:14:55 +10:00
Justin Viiret
21a4c8d4e2
rdfa: move raw_dfa member functions to rdfa.cpp
2017-08-21 11:12:26 +10:00
Justin Viiret
75e4aefabe
dfa: don't clear states, just mark dfa dead
...
The previous change caused some assertion issues.
2017-08-21 11:10:11 +10:00
Justin Viiret
10f52346ca
smallwrite: bfs ordering, refine daddy selection
2017-05-30 13:57:32 +10:00
Justin Viiret
3b3f6b739c
smallwrite: use failure map to set dfa daddy state
2017-05-30 13:57:32 +10:00
Justin Viiret
beac58fcb4
dfa: allow smwr to avoid lengthy daddy recalc
2017-05-30 13:57:32 +10:00
Justin Viiret
f5d769118a
mcclellancompile: factor out find_daddy_candidates
2017-05-30 13:57:32 +10:00
Justin Viiret
0dd8536c6e
dfa: only accel init states from smwr path
...
If the small-write DFA has been built from literals, then we only need
to look for accel states at init.
2017-05-30 13:57:32 +10:00
Justin Viiret
40f03929be
find_better_daddy: use flat_set for hinted states
2017-05-30 13:47:20 +10:00
Justin Viiret
63fe84c3f1
bytecode_ptr: add make_zeroed_bytecode_ptr
...
Rather than always zeroing memory.
2017-04-26 15:19:36 +10:00
Justin Viiret
a197074c5d
nfa: switch to using bytecode_ptr<NFA>
2017-04-26 15:19:36 +10:00
Alex Coyte
e51b6d23b9
introduce Sheng-McClellan hybrid
2016-12-14 15:27:18 +11:00
Anatoly Burakov
6331da4e29
dfa: adding new Sheng engine
...
A new shuffle-based DFA engine, complete with acceleration and smallwrite.
2016-08-10 15:10:46 +10:00
Anatoly Burakov
56bf25b091
McClellan refactor
...
Taking dfa strat out of McClellan, to be reused by other DFAs
2016-08-10 15:10:25 +10:00
Justin Viiret
1f41a921f2
mcclellan, gough: native report remapping
2016-05-18 16:20:45 +10:00
Alex Coyte
ff721ed8e4
unify some accel code/structures between limex and mcclellan
2016-04-20 13:34:56 +10:00
Alex Coyte
ed3ef5b997
raise the limit of strings in double shufti
2016-04-20 13:34:56 +10:00
Alex Coyte
b4727cf1ea
masked version of dverm
2016-04-20 13:34:56 +10:00
Alex Coyte
89d7728f77
refactoring of double byte offset accel to use paths and add to mcclellan
2016-04-20 13:34:56 +10:00
Alex Coyte
f53c093baa
simple offset accel for mcclellan start state
2016-04-20 13:34:56 +10:00
Alex Coyte
a255e6b678
add asserts to make bounds on alphaShift clear
2015-11-10 14:25:05 +11:00
Matthew Barr
904e436f11
Initial commit of Hyperscan
2015-10-20 09:13:35 +11:00