569 Commits

Author SHA1 Message Date
Justin Viiret
4ce306864e rose: use lookarounds to implement benefits masks
This replaces the CHECK_LIT_MASK instruction.
2016-10-28 14:43:33 +11:00
Xu, Chi
b96d5c23d1 rose: add new instruction CHECK_MASK_32
This is a specialisation of the "lookaround" code.
2016-10-28 14:43:33 +11:00
Justin Viiret
8be6c8b2ca rose: don't merge large acyclic suffixes
Check earlier on in mergeSuffixes that we're not proposing to merge
suffixes above our limit from the acyclic merge path.
2016-10-28 14:43:33 +11:00
jason taylor
b859e5cb8a Updated nfa source file permissions
Resolves issue github issue #37
2016-09-04 19:25:59 -04:00
Matthew Barr
d2e5089dc3 Update changelog for 4.3.1 v4.3.1 2016-08-29 13:51:17 +10:00
Matthew Barr
adef6d1a51 Merge branch develop into master 2016-08-29 11:30:51 +10:00
Matthew Barr
d21fcbfa92 Bump version number for release 2016-08-29 11:30:24 +10:00
Matthew Barr
f05e833e10 Only initialise stream state history when required.
This fixes 01org/hyperscan#30.
2016-08-29 11:30:15 +10:00
Matthew Barr
c1bc6acdea unit test for github issue #30 2016-08-29 11:30:15 +10:00
Matthew Barr
bf99ad00eb Merge branch develop into master v4.3.0 2016-08-24 14:29:28 +10:00
Matthew Barr
8cf0c41552 Bump version number for release 2016-08-24 14:27:59 +10:00
Justin Viiret
896618fda1 changelog: updates for 4.3 release 2016-08-24 14:25:48 +10:00
Matthew Barr
34d6a0d683 Change SONAME to only use the major version number
Hyperscan will only break ABI on major version changes, and the SONAME
used for shared library versions should reflect this.
2016-08-22 16:04:48 +10:00
Matthew Barr
0a1491d907 Remove problematic debug output 2016-08-22 16:04:44 +10:00
Justin Viiret
87e32c9037 tamarama: check for match halt in _Q2 as well 2016-08-22 16:04:27 +10:00
Alex Coyte
e6c05d5a55 set an appropriate default value for RoleInfo::score
Coverity CID 131843
2016-08-22 16:03:51 +10:00
Alex Coyte
147f9655b6 Add assertion indicating valid range of rank_in_mask's bit param
Coverity CID 141632
2016-08-22 16:03:47 +10:00
Matthew Barr
f06f5d0702 Use SOURCE_DATE_EPOCH for timestamp if present
The Debian reproducible builds effort suggests using
this environment variable for timestamps.
2016-08-10 15:14:30 +10:00
Matthew Barr
ead869992c unit: Disable warnings 2016-08-10 15:14:07 +10:00
Matthew Barr
e3c9bc7edf GCC 6 warns about unused attributes - disable the warning 2016-08-10 15:14:07 +10:00
Matthew Barr
85e2ba7555 cmake: take control of our compiler flags 2016-08-10 15:14:03 +10:00
Justin Viiret
ae14187462 rose: use min of max_offset in left merges
Be more careful with max_offset, since we rely on it ofr ANCH history
cases. Also adds tighter assertions.
2016-08-10 15:12:12 +10:00
Justin Viiret
cec57d7e90 rose: ensure anch small block literals have bounds 2016-08-10 15:12:04 +10:00
Justin Viiret
e03375b644 program_runtime: remove commented-out code 2016-08-10 15:11:15 +10:00
Justin Viiret
01ee4c94e3 dfa_build_strat: remove dead pure virtual impl 2016-08-10 15:11:15 +10:00
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
Alex Coyte
093029b5d1 add a csv version of rose_components 2016-08-10 15:10:09 +10:00
Matthew Barr
b8d33732b5 Check for misaligned memory in compile error code
We now check that mem alloc for error message is aligned, and
fail with an appropriate message in the compile error.
2016-08-10 15:10:09 +10:00
Alex Coyte
cded5552c2 rose: don't leave stray reports when copying the subgraph leading to a report 2016-08-10 15:09:27 +10:00
Justin Viiret
2aaa292aae dump: offsets for SOM_REL, SOM_ABS reports 2016-08-10 15:09:12 +10:00
Justin Viiret
67e450115a parser: ignore \E that is not preceded by \Q
This conforms to PCRE's behaviour, where an isolated \E that is not
preceded by \Q is ignored.
2016-08-10 15:08:01 +10:00
Justin Viiret
c58d9d04a1 ng_violet: fix non-det in lookForCleanEarlySplits 2016-08-10 15:07:45 +10:00
Justin Viiret
d119dd95fd ng_violet: trivial typo fixes 2016-08-10 15:07:45 +10:00
Justin Viiret
f3ccbf19b8 ng_violet: fix non-determinism in deanchorIfNeeded 2016-08-10 15:07:45 +10:00
Justin Viiret
a8cceeeddc ng_violet: fix non-determinism in splitEdgesByCut 2016-08-10 15:07:45 +10:00
Matthew Barr
151810b4fc Older gcc doesn't like shadowing the function 2016-08-10 15:07:11 +10:00
Matthew Barr
89ddb85637 Remove enum typedef 2016-08-10 15:07:01 +10:00
Matthew Barr
cbd115f7fe Don't shadow names 2016-08-10 15:06:57 +10:00
Justin Viiret
68ae4cc7c8 ng_violet: det. vertex ordering in splitRoseEdge 2016-08-10 15:06:43 +10:00
Justin Viiret
63528f1cd2 ng_violet: iterate in edge order 2016-08-10 15:06:43 +10:00
Justin Viiret
55c2d20e2c rose: use dumpString for debug output 2016-08-10 15:06:22 +10:00
Justin Viiret
04634f2e87 flood_compile: escape chars in debugging 2016-08-10 15:06:05 +10:00
Justin Viiret
de543bec24 ng_violet: use dumpString for debug output 2016-08-10 15:06:05 +10:00
Justin Viiret
1ff17a2ea3 rose: clear reports in removeFalsePaths 2016-08-10 15:06:01 +10:00
Justin Viiret
7f49958824 rose: only write out report programs if in use
These programs are only used by output-exposed engines.
2016-08-10 15:05:53 +10:00
Justin Viiret
4ce268af47 ng: ensure that only match states have reports
Ensure (and assert) that vertices without an edge to {accept, acceptEod}
do not have reports set.
2016-08-10 15:05:23 +10:00
Justin Viiret
3d9a60d023 teddy: apply poison mask after prep_conf_ work
This simplifies the code, and removes all the all-ones p_mask uses,
which we were otherwise trusting the optimizer to remove.
2016-08-10 15:05:23 +10:00