Alex Coyte
702f256b39
remove exceptionMap from LimExNFA
2016-08-10 15:11:15 +10: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
a9fddbc400
nfa: delete largely-unused struct LimExNFABase
2016-08-10 15:10:25 +10:00
Matthew Barr
cbd115f7fe
Don't shadow names
2016-08-10 15:06:57 +10:00
Alex Coyte
5c5ec905cc
violet: initial implementation
2016-08-10 15:01:08 +10:00
Xiang Wang
e95a251935
UE-2991: avoid copying one unnecessary subqueue item
2016-08-10 14:59:06 +10:00
Alex Coyte
f55e968692
tamarama dump: use correct base offset
2016-08-10 14:57:20 +10:00
Alex Coyte
691b08d170
use NGHolder::foo in favour of NFAGraph::foo
2016-08-10 14:52:56 +10:00
Justin Viiret
8435f918d1
limex: use cyclics mask for repeat compress
2016-08-10 14:52:56 +10:00
Justin Viiret
ae5e347778
limex: only compress active repeats
2016-08-10 14:52:56 +10:00
Justin Viiret
aa54352a3a
limex: switch off stale repeats during compress
2016-08-10 14:52:56 +10:00
Justin Viiret
19e79be87d
limex: compress repeats before state
2016-08-10 14:52:56 +10:00
Matthew Barr
e3d416a6ea
Apply some consistency to the names we give shifts
2016-07-08 11:07:50 +10:00
Matthew Barr
9c915cc936
remove only use of cmpmsk8 and unused cmpmsk16
2016-07-08 11:07:50 +10:00
Matthew Barr
4d6934fc77
Move limex specific shuffle utils and ssse3 funcs
2016-07-08 11:07:50 +10:00
Justin Viiret
9f98f4c7b2
nfa: standardise callback start, end naming
2016-07-08 11:02:05 +10:00
Justin Viiret
cf9e40ae1c
nfa: unify NfaCallback and SomNfaCallback
...
Use just one callback type, with both start and end offsets.
2016-07-08 11:01:56 +10:00
Xiang Wang
9087d59be5
tamarama: add container engine for exclusive nfas
...
Add the new Tamarama engine that acts as a container for infix/suffix
engines that can be proven to run exclusively of one another.
This reduces stream state for pattern sets with many exclusive engines.
2016-07-08 11:01:34 +10:00
Alex Coyte
f166bc5658
allow some prefixes that may squash the literal match to run eagerly
2016-07-08 11:01:34 +10:00
Justin Viiret
e915ca21c5
limex: tidy up scoring code
2016-07-08 10:57:29 +10:00
Justin Viiret
8648397257
limex: invert scoring to count up from zero
2016-07-08 10:57:29 +10:00
Kirill Rybalchenko
9d2403e8bb
limex: implement variable shift NFA engines
...
Replaces the old LimEx NFA engines, which were specialised for model
size and number of shifts, with a new set of engines that can handle a
variable number of shifts.
2016-07-08 10:57:29 +10:00
Alex Coyte
a8aa2d022f
Provide access to scratch in queues
...
This largely reverts commit f8ecf33236b0695d9539e8e34cf0bb0467614cdf.
2016-07-08 10:46:50 +10:00
Alex Coyte
9fa11b48b0
mcclellan compile: more efficient discovery of accel
2016-05-18 16:22:35 +10:00
Justin Viiret
061068a260
nfa_kind: documentation
2016-05-18 16:22:01 +10:00
Justin Viiret
ee7f31ac39
mpv: native report remapping
2016-05-18 16:22:01 +10:00
Justin Viiret
c101beb541
castle, lbr: native report remap
2016-05-18 16:21:36 +10:00
Justin Viiret
ec985a62f8
castle: add nfa kind to CastleProto
2016-05-18 16:21:03 +10:00
Justin Viiret
1f41a921f2
mcclellan, gough: native report remapping
2016-05-18 16:20:45 +10:00
Justin Viiret
611579511c
rose: remap reports to program offsets
2016-05-18 16:20:42 +10:00
Matthew Barr
68851742cc
Help ICC perform a not m128
2016-04-20 13:34:57 +10:00
Justin Viiret
9721262149
shufti: small C++11 fix to silence clang warning
2016-04-20 13:34:56 +10:00
Alex Coyte
ff721ed8e4
unify some accel code/structures between limex and mcclellan
2016-04-20 13:34:56 +10:00
Alex Coyte
ff82ea6d6e
smallwrite: don't recompile the dfa if prune fails
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
c0a5b037a1
allow double shufti to share buckets
2016-04-20 13:34:56 +10:00
Alex Coyte
6c7ee12bb9
make dverm more precise
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
6898dc9864
look for normal accel schemes using compressed alpha
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
d125601152
dump contents of double shufti masks
2016-04-20 13:34:56 +10:00
Alex Coyte
956b86e97a
move MultibyteAccelInfo to accelcompile.h
2016-04-20 13:34:56 +10:00
Justin Viiret
5354b7a5ca
mpv: fire only one report when simple-exhaustible
2016-04-20 13:34:55 +10:00
Justin Viiret
9852ac0091
mpv: use size_t for count, not u32
...
Small cleanup in processReportsForRange.
2016-04-20 13:34:55 +10:00
Justin Viiret
9ae908fd11
shufticompile: Remove unused mergeShuftiMask
2016-04-20 13:34:55 +10:00
Justin Viiret
d0aa138ada
castle/repeat: fix a number of bugs
...
- Add fits_in_len_bytes assertions for packed stores.
Corrects the assertion formerly on line 888.
- In exclusive mode, don't overwrite packedCtrlSize with the max of the
group; each repeat should know how many bytes it is using, even if
they share the same stream state.
- Ensure that exclusive mode stream state is sized correctly.
2016-04-20 13:34:54 +10:00
Mohammad Abdul Awal
b58d05dfec
Fixed some DEBUG_OUTPUT format string.
2016-04-20 13:34:53 +10:00
Justin Viiret
ec223e3622
Always init NFAContext::cached_br
...
Now that it's on stack, this should be initialised. Silences a warning
from valgrind.
2016-03-01 11:36:22 +11:00