Matthew Barr
fadfab6d8c
Install example source in docdir/examples
2017-04-26 15:17:19 +10:00
Matthew Barr
ce50ff6119
Use GNUInstallDirs for install paths
2017-04-26 15:17:19 +10:00
Matthew Barr
5daa191313
cmake: simplify g++ version check
2017-04-26 15:17:19 +10:00
Matthew Barr
11aac07855
cmake: override gcc's tuning guess
2017-04-26 15:17:19 +10:00
Matthew Barr
b68e4ea336
cmake: move boost tests
2017-04-26 15:17:19 +10:00
Matthew Barr
287f519205
cmake: look for Boost in-tree first
...
During development we tend to use a symlink to the most recent version of
Boost from the Hyperscan source tree, so look there first.
Also, unset some cached results so we recheck when the Boost version changes.
2017-04-26 15:17:19 +10:00
Matthew Barr
01b91da1cd
Use the default allocator for std::vector
2017-04-26 15:17:19 +10:00
Alex Coyte
de52b30c3e
make rose responsible for dumping its bytecode
2017-04-26 15:17:19 +10:00
Alex Coyte
aeba9bc42c
rose_build_bytecode: make build_context, RoseBuildImpl params const
2017-04-26 15:17:19 +10:00
Matthew Barr
b4ad7359d6
build: More robust temp file handling
2017-04-26 15:17:18 +10:00
Justin Viiret
8a6b38a9b5
ng_dominators: use a vector for doms internally
2017-04-26 15:17:11 +10:00
Justin Viiret
5005d50050
limex_compile: don't repeatedly calc dominators
2017-04-26 15:17:11 +10:00
Justin Viiret
2d660ce4db
ng_corpus_generator: small fix for MSVC compat
2017-04-26 15:17:11 +10:00
Justin Viiret
187a4b82c2
small_vector: add header to handle older Boost
...
This provides ue2::small_vector<T, N, Alloc> which will fall back to
std::vector<T, Alloc> where the Boost version is too old or not present.
2017-04-26 15:17:11 +10:00
Justin Viiret
3e597e85ff
ng_corpus_generator: restore use of boost::next()
...
libc++ checks for forward_iterator_tag in std::next(), which isn't
provided by our (Boost-derived) ue2_graph iterators.
2017-04-26 15:17:03 +10:00
Wang, Xiang W
448ce8a496
UE-3098: add unaligned load for andn without BMI
2017-04-26 15:17:03 +10:00
Justin Viiret
26ec7dd332
ng_corpus_generator: use std::next, not boost::next
2017-04-26 15:17:03 +10:00
Justin Viiret
037e39b6f5
ng_corpus_generator: stop using ptr_vector
...
Nowadays we can use vector<unique_ptr<T>>.
2017-04-26 15:17:03 +10:00
Justin Viiret
d8eb259ac7
serialize: tidy
2017-04-26 15:17:03 +10:00
Justin Viiret
bc7da2807a
unit: modernise test_util
2017-04-26 15:17:03 +10:00
Justin Viiret
1376f3849a
serialize: parameterize on pattern as well
2017-04-26 15:17:03 +10:00
Justin Viiret
a97ec56aee
serialize: add vectored mode
2017-04-26 15:17:03 +10:00
Justin Viiret
834aebe8b6
ng_find_matches: use wd.active for accepts too
2017-04-26 15:17:03 +10:00
Justin Viiret
bae8ebc62d
ng_find_matches: speed up gather...ByDepth
2017-04-26 15:17:03 +10:00
Justin Viiret
749e3e64b9
getMatches: simplify
2017-04-26 15:17:03 +10:00
Justin Viiret
c81c30b144
findMatches: persist working data
2017-04-26 15:17:03 +10:00
Justin Viiret
cc1191d94c
getSuccessors: reuse a vector<State> for output
2017-04-26 15:17:03 +10:00
Justin Viiret
7ad21500c4
getActiveStates: return a sorted, uniqued vector
2017-04-26 15:17:03 +10:00
Matthew Barr
79308e6791
cmake: don't build static libs if we don't have to
2017-04-26 15:17:03 +10:00
Matthew Barr
ce6a10ef58
hsbench: don't create the greybox in release build
2017-04-26 15:16:36 +10:00
Justin Viiret
533fcf383d
ng_fuzzy: apply a resource limit to vertex count
2017-04-26 15:16:27 +10:00
Wang, Xiang W
ffab97ca8c
FDR: delete dead confirm code
2017-04-26 15:16:27 +10:00
Justin Viiret
7ca81ff530
ng_find_matches: limit how big we're willing to go
...
Tests which require tracking more than 15K states (including edit
distance states) are very, very slow.
2017-04-26 15:16:22 +10:00
Matthew Barr
d2416736cb
Use intrinsic to get correct movq everywhere
...
The real trick here is that _mm_set_epi64x() (note the 'x') takes a 64-bit
value - not a ptr to a 128-bit value like the non-x - so compilers don't
twist themselves in knots with alignment or whatever confuses them.
2017-04-26 15:16:03 +10:00
Justin Viiret
96fdca6f54
rose: guard writeNfaInfo from zero NFAs
2017-04-26 15:16:03 +10:00
Justin Viiret
5edecbf539
ng: check can_never_match before validate_fuzzy
2017-04-26 15:16:03 +10:00
Matthew Barr
c50a931bb4
Use std::move explicitly to avoid ambiguity with boost
2017-04-26 15:16:03 +10:00
Anatoly Burakov
eed2743d04
Add approximate matching documentation
2017-04-26 15:15:50 +10:00
Anatoly Burakov
ebe849603b
Add support for approximate matching in other tools
2017-04-26 15:15:12 +10:00
Anatoly Burakov
9f72dede5c
Add support for approximate matching in NFA matcher unit tests
2017-04-26 15:11:54 +10:00
Anatoly Burakov
4c2b7cc04f
Add support for approximate matching in ue2collider
2017-04-26 15:11:51 +10:00
Anatoly Burakov
2de6706df2
Adding support for compiling approximate matching patterns
...
Adds new "edit_distance" extparam
2017-04-26 15:11:39 +10:00
Justin Viiret
60fc975c81
rose: use ROUNDUP_N for alignment
2017-04-26 15:11:10 +10:00
Justin Viiret
09d19c7c57
rose: remove unnecessary engine blob size check
2017-04-26 15:11:10 +10:00
Justin Viiret
2ec3019e04
rose: do state work before writing NfaInfo structs
2017-04-26 15:11:10 +10:00
Justin Viiret
96be1190ef
rose: move matcher bytecode to engine blob
2017-04-26 15:11:10 +10:00
Justin Viiret
b2aae060d8
rose: consistent naming in updateNfaState
2017-04-26 15:11:10 +10:00
Justin Viiret
6013fb1546
engine_blob: add_range() member function
2017-04-26 15:11:10 +10:00
Justin Viiret
10aa806d67
rose: clean up nfa state alloc
2017-04-26 15:11:10 +10:00
Justin Viiret
246f9f4f86
rose: update nfa info earlier, in engine blob
2017-04-26 15:11:10 +10:00