Justin Viiret
f4fa6cd4dd
rose: tighten up requirements for catch up
...
We only need to catch up when there is an actual anchored table, not
merely when there are successors of anchored_root in the Rose graph.
2016-10-28 14:44:20 +11:00
Alex Coyte
e74b141e95
rework load_m128_from_u64a()
2016-10-28 14:44:16 +11:00
Alex Coyte
bcf40c5136
Limex: don't not build accel schemes for impossible state sets
2016-10-28 14:44:12 +11:00
Alex Coyte
a08e1dd690
Introduce a 64-bit LimEx model.
...
On 64-bit platforms, the Limex 64 model is implemented in normal GPRs.
On 32-bit platforms, however, 128-bit SSE registers are used for the
runtime implementation.
2016-10-28 14:44:12 +11:00
Justin Viiret
3cf4199879
debug: always use %zu in format string for size_t
2016-10-28 14:43:34 +11:00
Justin Viiret
0cc941dfd5
limex_dump: silence gcc large alignment warning
...
Passing mask by const ref silences the warning: "The ABI for passing
parameters with 32-byte alignment has changed in GCC 4.6".
2016-10-28 14:43:34 +11:00
Justin Viiret
c8868fb9c7
rose: remove CHECK_LIT_MASK instruction
2016-10-28 14:43:33 +11:00
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
f05e833e10
Only initialise stream state history when required.
...
This fixes 01org/hyperscan#30 .
2016-08-29 11:30:15 +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
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
Alex Coyte
d574557200
take mask overhang into account for hwlm accel, float min dist
2016-08-10 15:05:19 +10:00
Alex Coyte
34289eb3b4
violet: 32bit fix
2016-08-10 15:01:28 +10:00
Alex Coyte
5c5ec905cc
violet: initial implementation
2016-08-10 15:01:08 +10:00
Alex Coyte
b13a90e5d2
compiledump: allow disabling of early graphs for large compiles
2016-08-10 15:00:44 +10:00
Justin Viiret
9eb349a343
rose: expose smwr builder, tidy up engine build
2016-08-10 14:59:10 +10:00