951 Commits

Author SHA1 Message Date
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