Justin Viiret
88e6485e75
fdr_compile: tidy up
2016-07-08 10:49:42 +10:00
Justin Viiret
466fc940e5
fdr_streaming_compile: modernise loops, etc
2016-07-08 10:49:38 +10:00
Justin Viiret
57cd2331f5
fdr/teddy: switch over remaining smart ptrs
2016-07-08 10:49:35 +10:00
Justin Viiret
aebbd4f169
setupFullMultiConfs: return smart ptr
2016-07-08 10:49:31 +10:00
Justin Viiret
9953a026f8
setupFDRFloodControl: return smart ptr
2016-07-08 10:49:27 +10:00
Justin Viiret
81880d5a8d
fdr_confirm_compile: clean up for loops, iterators
2016-07-08 10:49:24 +10:00
Justin Viiret
139a472af0
fdr_confirm_compile: typedef -> using
2016-07-08 10:49:20 +10:00
Justin Viiret
69653aaec5
fdr_confirm_compile: use smart ptrs
2016-07-08 10:49:17 +10:00
Justin Viiret
964fc22b1a
fdr_compile_internal: remove unused decl
...
getFDRConfirm() is static.
2016-07-08 10:49:12 +10:00
Justin Viiret
8e4c68e9df
rose: eagerly report EOD literal matches
...
Where possible, eagerly report a match when a literal that matches at
EOD occurs, rather than setting a state bit and waiting for EOD
processing.
2016-07-08 10:47:33 +10:00
Justin Viiret
9dddb4efc3
ng_equivalence: reduce compile time on large cases
2016-07-08 10:47:33 +10:00
Alex Coyte
0548a6d995
use edge index to avoid assoc property maps
2016-07-08 10:47:33 +10:00
Justin Viiret
1df4da16ad
rose: parameterise CHECK_LIT_EARLY
2016-07-08 10:47:33 +10:00
Justin Viiret
7690881f85
rose: make assignGroupsToLiterals a free function
2016-07-08 10:47:08 +10:00
Justin Viiret
89dbbe6c53
rose: make assignGroupsToRoles a free function
2016-07-08 10:47:08 +10:00
Justin Viiret
de201997b7
rose_build_groups: move findGroupSquashers
2016-07-08 10:47:07 +10:00
Justin Viiret
70ef229b2b
rose_build_groups: move getGroups, getSuccGroups
2016-07-08 10:47:07 +10:00
Justin Viiret
42419a26d2
rose_build_groups: move assignGroupsToRoles
2016-07-08 10:47:07 +10:00
Justin Viiret
2b24000b1a
rose_build_groups: move assignGroupsToLiterals
2016-07-08 10:47:07 +10:00
Justin Viiret
c2496fbf76
rose: elide SET_GROUPS when possible
2016-07-08 10:47:07 +10:00
Justin Viiret
6a6b0e5da6
rose: Do HWLM advisory masks as a complete pass
2016-07-08 10:46:57 +10:00
Justin Viiret
beec5e59df
rose: linear scan for lookaround during build
...
This allows us to reuse more lookaround entries in the bytecode.
2016-07-08 10:46:54 +10:00
Alex Coyte
a8aa2d022f
Provide access to scratch in queues
...
This largely reverts commit f8ecf33236b0695d9539e8e34cf0bb0467614cdf.
2016-07-08 10:46:50 +10:00
Alex Coyte
cb7067f59d
Prevent trying to build smallwrite engine for large cases
2016-07-08 10:46:46 +10:00
Alex Coyte
b097cb1b53
use the correct way to refer to void *
2016-07-08 10:45:06 +10:00
Alex Coyte
afd378b09e
UE-2963: be more aggressive in using buildSufPQ_final()
2016-07-08 10:45:06 +10:00
Justin Viiret
6e49544558
exhaust: move functions to report.h
2016-07-08 10:45:06 +10:00
Justin Viiret
9b7eca5400
rose: dump leftfix/suffix queue indices
2016-07-08 10:44:56 +10:00
Boris Nagaev
6d87533ef0
fix add_to_engine_blob for iterator=pointer
2016-07-06 19:46:41 +03:00
Boris Nagaev
ba45bd34d6
fix iter_wrapper for iterator=pointer
2016-07-06 19:46:25 +03:00
Justin Viiret
614ca0accf
rose: always push CHECK_BOUNDS onto end of program
2016-06-01 10:56:57 +10:00
Justin Viiret
9826522e34
rose: fix CHECK_NOT_HANDLED placement bug
...
The CHECK_NOT_HANDLED instruction was being inserted into an already
partially-flattened program, which would result in jump offsets becoming
incorrect.
This change places it as part of the normal flow of program
construction, which avoids this issue.
2016-06-01 10:56:52 +10:00
Matthew Barr
ca2343f98e
We need an immediate so use intrinsic directly
2016-05-24 11:26:33 +10:00
Matthew Barr
d36cc9ea4c
debug printf: Windows path separator
2016-05-24 11:26:31 +10:00
Matthew Barr
1d6462532a
vbs: the static array has C linkage
2016-05-24 11:26:27 +10:00
Matthew Barr
3527a9cb5c
masked move: C linkage
2016-05-24 11:26:24 +10:00
Matthew Barr
b5be8ef6aa
Win32 ctz and clz
2016-05-24 11:26:20 +10:00
Matthew Barr
5234639736
popcount: use intrinsics and restructure defines
2016-05-24 11:26:16 +10:00
Justin Viiret
142e74e8e6
fdr: teddy.h does not need to include hwlm.h
2016-05-24 11:26:13 +10:00
Justin Viiret
2c762909fe
fdr: remove dead function decls from teddy.h
2016-05-24 11:26:10 +10:00
Matthew Barr
0e8867b393
Combine struct elements to avoid inheritance
...
The multiple inheritance here was slightly overkill, and it also appears to
trigger a MSVC bug when writing through the pointer to member.
2016-05-18 16:28:44 +10:00
Justin Viiret
95f35aad0e
fdr: ensure 16 bytes of pre-history in block mode
2016-05-18 16:28:27 +10:00
Justin Viiret
97eaea043e
ucp_table: clean up make_caseless
2016-05-18 16:28:22 +10:00
Justin Viiret
f48b8c937b
ucp_table: don't always deref rv of lower_bound
...
Fixes a warning from asan.
2016-05-18 16:28:17 +10:00
Mohammad Abdul Awal
ed772380c0
teddy: remove python codegen, refactor code
...
Major cleanup of the Teddy runtime code. Removes python code generation,
splits AVX2 models into their own file, improves readability.
2016-05-18 16:28:11 +10:00
Justin Viiret
73610c0b64
scratch: don't leave in use after hs_clone_scratch
...
Also updated unit tests to always check hs_alloc_scratch()'s return
value.
2016-05-18 16:28:03 +10:00
Justin Viiret
6c1143a264
ue2string: fix broken function type in upperString
...
Silences warning from ubsan.
2016-05-18 16:28:00 +10:00
Justin Viiret
a7d02a996e
fdr_streaming_runtime: include <string.h>
...
Required for use of memcpy().
2016-05-18 16:27:33 +10:00
Justin Viiret
c12b953131
runtime: add error for "scratch in use"
...
This commit adds the HS_SCRATCH_IN_USE error, which is returned when
Hyperscan detects that a scratch region is already in use on entry to an
API function.
2016-05-18 16:27:29 +10:00
Alex Coyte
11896dcf42
restore ability to ignore common preds for merges
...
Check for common preds was broken during refactoring in b9c5d65:
Rework literal overlap checks for merging engines
2016-05-18 16:26:22 +10:00