Justin Viiret
9c99a923a1
limex: remove constant do_br arg from TESTEOD_FN
2016-10-28 14:45:54 +11:00
Justin Viiret
9139123642
rose: move sparse iter cache to RoseEngineBlob
...
This enables its use for iterators written by instructions.
2016-10-28 14:45:32 +11:00
Justin Viiret
13b6023a18
hash: add hash_all variadic tpl func, use in rose
2016-10-28 14:45:28 +11:00
Justin Viiret
13af3bfb74
rose: decouple build-time program representation
...
This commit replaces the build-time representation of the Rose
interpreter programs, from a class containing a discriminated union of
the bytecode structures to a class hierarchy of build-time prototypes.
This makes it easier to reason about and manipulate Rose programs during
compilation.
2016-10-28 14:45:15 +11:00
Justin Viiret
3bfef988fe
container.h: include <vector>
2016-10-28 14:45:11 +11:00
Alex Coyte
97483eee5b
UE-3019: limex_compile: correctly access the dominator map
2016-10-28 14:45:02 +11:00
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
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