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
Justin Viiret
a0b0247e47
rose: move NfaInfo to engine blob
2017-04-26 15:11:10 +10:00
Justin Viiret
c619621573
rose: move leftfix info into engine blob, refactor
2017-04-26 15:11:10 +10:00
Justin Viiret
395d6ae650
rose: move dkey info to engine blob
2017-04-26 15:11:10 +10:00
Justin Viiret
e3d2d67833
rose: move lookaround tables to engine blob
2017-04-26 15:11:10 +10:00
Justin Viiret
b6254ca11f
rose: move active leftfix iter to engine blob
2017-04-26 15:11:10 +10:00
Justin Viiret
282f72e04d
rose: move SOM reverse NFAs to engine_blob
2017-04-26 15:11:10 +10:00
Justin Viiret
f4bda9def6
rose: build RoseEngine prototype for bytecode
...
Rather than tracking a great many offsets in u32 variables, build them
in a RoseEngine prototype.
2017-04-26 15:11:10 +10:00
Wang, Xiang W
90216921b0
FDR: front end loop improvement
2017-04-26 15:11:10 +10:00