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
Justin Viiret
cdaf705a87
rose: pick up more prefix->lookaround conversions
2016-07-08 10:57:29 +10:00
Justin Viiret
d3c56b532b
rose build: dedupe hasLastByteHistorySucc func
2016-07-08 10:57:00 +10:00
Justin Viiret
cf8e8c90ff
eod: move stream eod code to stream.c
2016-07-08 10:55:36 +10:00
Justin Viiret
d5c1280b9f
eod: tidy up, rename to roseStreamEodExec
2016-07-08 10:55:36 +10:00
Justin Viiret
66e0b77aa4
block: unify roseBlockExec and roseBlockExec_i
2016-07-08 10:55:36 +10:00
Justin Viiret
513ac11dbc
block: move matcher invocations into functions
2016-07-08 10:55:36 +10:00
Justin Viiret
a9eba12cce
rose: inline block-mode eod check
2016-07-08 10:55:36 +10:00
Justin Viiret
159c09b70e
roseEnginesEod: trust the queue structure
2016-07-08 10:55:36 +10:00
Justin Viiret
d9bd6d5dee
roseSuffixesEod: trust the queue structure
2016-07-08 10:55:36 +10:00
Justin Viiret
3e0232f0d6
eod: retire getELiteralMatcher
2016-07-08 10:55:36 +10:00
Justin Viiret
426bfc9cfb
rose_build_bytecode: clean up
2016-07-08 10:55:36 +10:00
Justin Viiret
ae157034e9
eod: tidy runtime
2016-07-08 10:55:36 +10:00
Justin Viiret
78e4332a8b
move eod iter program into general eod program
2016-07-08 10:55:36 +10:00
Justin Viiret
39461cc806
eod: move hwlm execution into MATCHER_EOD instr
2016-07-08 10:55:36 +10:00
Justin Viiret
b8f771e824
rose_build_bytecode: tidy up addPredBlocks
2016-07-08 10:55:36 +10:00
Justin Viiret
2761e0105d
eod: more suffix iteration into program
2016-07-08 10:54:07 +10:00
Justin Viiret
9669e0fe94
eod: remove forced sparse iter optimization
2016-07-08 10:54:07 +10:00
Justin Viiret
7a7dff5b70
eod: don't force sparse iter for general prog
2016-07-08 10:54:07 +10:00
Justin Viiret
02595cda1f
eod: consolidate eod anchor programs
2016-07-08 10:54:07 +10:00
Justin Viiret
7a6a476723
eod: move engine checks into ENGINES_EOD instr
2016-07-08 10:54:07 +10:00
Justin Viiret
7e3d56579b
eod: stop passing both scratch and state around
2016-07-08 10:54:07 +10:00
Matthew Barr
c7212a7478
Only omit frame pointers on 32bit release builds
...
Frame pointers are very useful for debugging and testing, and only
really make a difference to performance on IA32.
2016-07-08 10:50:08 +10:00
Justin Viiret
08d44fbed5
fdr: remove unused typedef 'ConfirmIndex'
2016-07-08 10:50:03 +10:00
Justin Viiret
ad74f3b895
fdr: use braced init syntax for pairs
2016-07-08 10:49:59 +10:00
Justin Viiret
b8cd169cde
teddy compile: rename loop var for readability
2016-07-08 10:49:56 +10:00
Justin Viiret
bae7a072ca
TeddySet: doesn't need a reference to lits
2016-07-08 10:49:52 +10:00
Justin Viiret
d626cb68e0
fdr_confirm_compile: clean up debugging code
2016-07-08 10:49:48 +10:00
Justin Viiret
37e7c96424
teddy_compile: modernise
2016-07-08 10:49:45 +10:00
Justin Viiret
88e6485e75
fdr_compile: tidy up
2016-07-08 10:49:42 +10:00
Justin Viiret
466fc940e5
fdr_streaming_compile: modernise loops, etc
2016-07-08 10:49:38 +10:00
Justin Viiret
57cd2331f5
fdr/teddy: switch over remaining smart ptrs
2016-07-08 10:49:35 +10:00
Justin Viiret
aebbd4f169
setupFullMultiConfs: return smart ptr
2016-07-08 10:49:31 +10:00
Justin Viiret
9953a026f8
setupFDRFloodControl: return smart ptr
2016-07-08 10:49:27 +10:00
Justin Viiret
81880d5a8d
fdr_confirm_compile: clean up for loops, iterators
2016-07-08 10:49:24 +10:00
Justin Viiret
139a472af0
fdr_confirm_compile: typedef -> using
2016-07-08 10:49:20 +10:00
Justin Viiret
69653aaec5
fdr_confirm_compile: use smart ptrs
2016-07-08 10:49:17 +10:00
Justin Viiret
964fc22b1a
fdr_compile_internal: remove unused decl
...
getFDRConfirm() is static.
2016-07-08 10:49:12 +10:00
Justin Viiret
ea62ba107f
unit: make multiaccel tests deterministic
...
Use a PRNG, not rand().
2016-07-08 10:47:33 +10:00
Justin Viiret
8e4c68e9df
rose: eagerly report EOD literal matches
...
Where possible, eagerly report a match when a literal that matches at
EOD occurs, rather than setting a state bit and waiting for EOD
processing.
2016-07-08 10:47:33 +10:00
Justin Viiret
9dddb4efc3
ng_equivalence: reduce compile time on large cases
2016-07-08 10:47:33 +10:00
Alex Coyte
0548a6d995
use edge index to avoid assoc property maps
2016-07-08 10:47:33 +10:00
Justin Viiret
1df4da16ad
rose: parameterise CHECK_LIT_EARLY
2016-07-08 10:47:33 +10:00
Justin Viiret
7690881f85
rose: make assignGroupsToLiterals a free function
2016-07-08 10:47:08 +10:00
Justin Viiret
89dbbe6c53
rose: make assignGroupsToRoles a free function
2016-07-08 10:47:08 +10:00
Justin Viiret
de201997b7
rose_build_groups: move findGroupSquashers
2016-07-08 10:47:07 +10:00
Justin Viiret
70ef229b2b
rose_build_groups: move getGroups, getSuccGroups
2016-07-08 10:47:07 +10:00
Justin Viiret
42419a26d2
rose_build_groups: move assignGroupsToRoles
2016-07-08 10:47:07 +10:00
Justin Viiret
2b24000b1a
rose_build_groups: move assignGroupsToLiterals
2016-07-08 10:47:07 +10:00
Justin Viiret
c2496fbf76
rose: elide SET_GROUPS when possible
2016-07-08 10:47:07 +10:00