Justin Viiret
5a7d5958d1
ng_violet: skip analysis on graphs with wide reach
2017-08-21 11:10:11 +10:00
Justin Viiret
63973175ed
ng_calc_components: check tail shell too
2017-08-21 11:10:11 +10:00
Justin Viiret
f6adc4f464
ng_calc_components: skip if shell has 1 path only
2017-08-21 11:10:11 +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
3d4d39b8a9
clear_deeper_reports: clear dfa if dead
...
If we remove all the reports from the DFA because they're too deep, then
clear the DFA without depending on Hopcroft minimisation.
2017-08-21 11:10:11 +10:00
Justin Viiret
2dc1f9d629
rose_build_matchers: fix fragment noruns calc
2017-08-21 11:10:08 +10:00
Justin Viiret
cc4a5cc36f
teddy_compile: style fixes, whitespace
2017-08-21 11:10:01 +10:00
Justin Viiret
84a09d35d6
teddy_compile: use faster small containers
2017-08-21 11:10:01 +10:00
Justin Viiret
c83f2ea389
rose_build_matchers: be more careful w/ mixed-case
...
Overhaul the way fragment literals are added to HWLM and accel, fix
some bugs shaken out by stricter mask use.
2017-08-21 11:09:45 +10:00
Justin Viiret
3bd0c7f6ad
unit-hyperscan: pure-literal/smwr coverage
2017-08-21 11:09:35 +10:00
Justin Viiret
72387e0de4
lookarounds: don't reconfirm bytes in hwlm mask
2017-08-21 11:09:23 +10:00
Justin Viiret
7560e189eb
rose: always use mandatory masks for lit fragments
2017-08-21 11:09:20 +10:00
Justin Viiret
bdae3d5b80
dump: always allocate >=8 bytes for multibit
...
The multibit runtime assumes that it is always safe to read 8 bytes, so
we must over-allocate for smaller sizes. Caught by ASan.
2017-08-21 10:40:18 +10:00
Justin Viiret
85f7790a21
dfa: standardise 'using' instead of typedef
2017-08-21 10:40:18 +10:00
Justin Viiret
0d7d52625c
ng_haig: make StateMap an unordered_map
2017-08-21 10:40:18 +10:00
Justin Viiret
31141dd35b
determinise: use queue, improve api
...
- Use a queue rather than always building the full vector of state
sets.
- Make more use of move, emplace, reserve.
- Write directly into dstates argument.
- Return bool rather than int.
2017-08-21 10:40:18 +10:00
Justin Viiret
64db576b9e
fdr_confirm_compile: literals are now < 8 bytes
2017-08-21 10:39:00 +10:00
Justin Viiret
d94bf2fd62
fdr_confirm_compile: wrap comment
2017-08-21 10:39:00 +10:00
Justin Viiret
2b9b2ca911
fdr/teddy: remove padding from structures
2017-08-21 10:39:00 +10:00
Justin Viiret
71bd1c8dfe
teddy: clean up compile to match fdr style
2017-08-21 10:39:00 +10:00
Justin Viiret
e9d85f7b51
fdr_confirm: renumber FDR_LIT_FLAG_NOREPEAT
2017-08-21 10:39:00 +10:00
Justin Viiret
b126cbf556
fdr/teddy: simplify computing of confirm base
2017-08-21 10:39:00 +10:00
Justin Viiret
06bafae81d
fdr_confirm: clean up use of flags
2017-08-21 10:39:00 +10:00
Justin Viiret
c878d5ec66
fdr: further tidy up layout
2017-08-21 10:39:00 +10:00
Justin Viiret
549062ec2b
fdr_confirm: start FDRConfirm structs at cacheline
2017-08-21 10:38:59 +10:00
Justin Viiret
4f32a167d5
teddy: align major structures to cachelines
2017-08-21 10:38:59 +10:00
Justin Viiret
9bdd370163
fdr: align major structures to cachelines
2017-08-21 10:38:59 +10:00
Justin Viiret
c36c071564
fdr_confirm: remove dead flags
...
- Caseless was unused
- NoFlags is a bit redundant
2017-08-21 10:38:59 +10:00
Justin Viiret
e8c0b5685f
fdr_confirm: remove complex confirm
2017-08-21 10:38:59 +10:00
Matthew Barr
44e45f727e
Bump version number for release
2017-07-26 15:51:23 +10:00
Matthew Barr
4650a59ce0
changelog: updates for 4.5.2 release
2017-07-26 15:51:23 +10:00
Matthew Barr
8337d99574
build: use more portable flag for mktemp
...
Fixes github issue #60
2017-07-26 15:51:23 +10:00
Matthew Barr
345897f096
cpuid: exclude AVX512 flag when target not enabled
...
If we have a fat runtime build without AVX512 enabled, we should not
pick up the AVX512 flag from cpuid.
2017-07-26 15:51:23 +10:00
Alex Coyte
d317d75615
character classes: handle \Q\E and utf8
2017-06-21 08:43:44 +10:00
Alex Coyte
a185be5a4f
Treat characters between \Q \E as codepoints in UTF8 mode.
...
fixes github issue #57
2017-06-21 08:43:44 +10:00
Matthew Barr
2b788f1234
Bump version number for release
2017-06-16 10:07:40 +10:00
Matthew Barr
e6e0f7146f
changelog: updates for 4.5.1 release
2017-06-16 10:07:40 +10:00
Justin Viiret
dedfc34515
fdr_confirm_compile: fix bug in table sizing
2017-06-15 15:41:30 +10:00
Matthew Barr
f739314696
hsbench: cpuset portability
2017-06-15 15:41:30 +10:00
Matthew Barr
79b42cff58
hsbench: make output more clear
2017-06-15 15:41:30 +10:00
Matthew Barr
47ec449f85
hsbench: fix flag handling
2017-06-15 15:41:30 +10:00
Matthew Barr
86e7acd4dd
cmake: remove duplicate else()
2017-06-13 13:53:45 +10:00
Justin Viiret
09f5699df7
flat_set/map: workaround for gcc-4.8 C++11 defect
...
The STL shipped with gcc-4.8 does not provide
vector::erase(const_iterator) for C++11, instead only taking a mutable
iterator. This causes problems with flat_set/map if we don't have
Boost small_vector available and we fall back to std::vector.
We work around this by providing a function to construct a mutable
iterator given a const_iterator for internal use.
2017-06-13 13:52:33 +10:00
Matthew Barr
87469d4775
Bump version number for release
2017-06-09 10:12:03 +10:00
Justin Viiret
9b8b609207
changelog: updates for 4.5 release
2017-06-09 10:12:03 +10:00
Justin Viiret
173178b00b
changelog: quote function name
2017-06-09 10:12:03 +10:00
Justin Viiret
9aee3b22b5
ng_expr_info: more complete analysis passes
2017-06-09 10:12:03 +10:00
Justin Viiret
c4e2459318
hs_compile: add note to hs_expression_info() docs
...
Successful analysis of a pattern with hs_expression_info() does not
imply that the pattern will successfully compile with hs_compile(), etc.
It is merely a utility function for pattern analysis.
Addresses Github issue #54 .
2017-06-09 10:12:03 +10:00
Justin Viiret
9589ee9f90
hs_expression_info: check unsupported constructs
2017-06-09 10:12:03 +10:00
Matthew Barr
aad55e1b72
Use env to get python bin, don't hard code path
2017-06-09 10:12:03 +10:00