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
Matthew Barr
c1bc6acdea
unit test for github issue #30
2016-08-29 11:30:15 +10:00
Matthew Barr
ead869992c
unit: Disable warnings
2016-08-10 15:14:07 +10:00
Alex Coyte
702f256b39
remove exceptionMap from LimExNFA
2016-08-10 15:11:15 +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
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
Matthew Barr
cbd115f7fe
Don't shadow names
2016-08-10 15:06:57 +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
9eb349a343
rose: expose smwr builder, tidy up engine build
2016-08-10 14:59:10 +10:00
Xu, Chi
4d7469392d
rose: add CHECK_BYTE/CHECK_MASK instructions
...
These instructions are specialisations of the "lookaround" code for
performance.
2016-08-10 14:57:48 +10:00
Alex Coyte
691b08d170
use NGHolder::foo in favour of NFAGraph::foo
2016-08-10 14:52:56 +10:00
Boris Nagaev
b73bd9b6e1
new test: deserializers fail with garbage input
2016-08-10 14:08:59 +10:00
Matthew Barr
e3d416a6ea
Apply some consistency to the names we give shifts
2016-07-08 11:07:50 +10:00
Matthew Barr
4d6934fc77
Move limex specific shuffle utils and ssse3 funcs
2016-07-08 11:07:50 +10:00
Justin Viiret
cf9e40ae1c
nfa: unify NfaCallback and SomNfaCallback
...
Use just one callback type, with both start and end offsets.
2016-07-08 11:01:56 +10:00
Kirill Rybalchenko
9d2403e8bb
limex: implement variable shift NFA engines
...
Replaces the old LimEx NFA engines, which were specialised for model
size and number of shifts, with a new set of engines that can handle a
variable number of shifts.
2016-07-08 10:57:29 +10:00
Justin Viiret
ea62ba107f
unit: make multiaccel tests deterministic
...
Use a PRNG, not rand().
2016-07-08 10:47:33 +10:00
Alex Coyte
a8aa2d022f
Provide access to scratch in queues
...
This largely reverts commit f8ecf33236b0695d9539e8e34cf0bb0467614cdf.
2016-07-08 10:46:50 +10:00
Justin Viiret
6899cab370
unit-internal: fix FDR issues reported by ASan
...
FDR's streaming mode now assumes that it is safe to read 16 bytes before
the end of the history buffer, and this was not reflected in the unit
tests.
2016-05-18 16:28:08 +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
f532b89776
unit: clean up getValidFdrEngines()
2016-05-18 16:27:57 +10:00
Justin Viiret
38797abb06
unit: fix bug in teddy model unit tests
2016-05-18 16:27:54 +10:00
Anatoly Burakov
01169e69d2
Fix for multiaccel matcher unit test
...
Test was failing on 32-bit OS with AVX2
2016-05-18 16:27:51 +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
f0825b4d3f
remove unused parts of fdr_loadval
2016-05-18 16:25:31 +10:00
Mohammad Abdul Awal
598f0565cf
fdr: Remove python codegen, add safezones
2016-05-18 16:22:52 +10:00
Alex Coyte
e86688e313
add m128 byte shift functions
...
variable_byte_shift_m128 taken from pug-interpreter branch
2016-05-18 16:22:44 +10:00
Justin Viiret
d7774f3d69
noodle_build: update interface to use hwlmLiteral
2016-05-18 16:22:32 +10:00
Justin Viiret
8eec61445f
unit: fix up noodle unit tests
2016-05-18 16:22:25 +10:00
Justin Viiret
c101beb541
castle, lbr: native report remap
2016-05-18 16:21:36 +10:00
Justin Viiret
611579511c
rose: remap reports to program offsets
2016-05-18 16:20:42 +10:00
Alex Coyte
c0a5b037a1
allow double shufti to share buckets
2016-04-20 13:34:56 +10:00
Alex Coyte
6c7ee12bb9
make dverm more precise
2016-04-20 13:34:56 +10:00
Alex Coyte
b4727cf1ea
masked version of dverm
2016-04-20 13:34:56 +10:00
Justin Viiret
1fcd3cfb2c
mmbit_all: True if all keys are switched on
2016-04-20 13:34:55 +10:00
Matthew Barr
3dc8bab78f
Build convenience libraries as static libs
2016-04-20 13:34:55 +10:00
Matthew Barr
e10d2eb269
PrintTo functions for google test and valgrind
2016-04-20 13:34:54 +10:00
Justin Viiret
12921b7c97
Add hs_expression_ext_info() API function
...
This is a variant of hs_expression_info() that can also accept extended
parameters.
2016-04-20 13:34:54 +10:00
Justin Viiret
cf00094f24
Remove more unused structures from unit tests
...
The NFA, LBR no longer need scratch or the NFAContext structure stored
outside the NFA stack.
2016-03-01 11:34:38 +11:00
Justin Viiret
c3860a9f29
NFA API: Remove unused scratch ptr from struct mq
2016-03-01 11:34:38 +11:00
Justin Viiret
58f9617f66
NFA API: Remove nfaBlockExecReverse scratch arg
...
Scratch is no longer used by this function's implementations.
2016-03-01 11:34:38 +11:00
Justin Viiret
3e002f8181
NFA: Move NFAContext to stack (from scratch)
2016-03-01 11:34:38 +11:00
Justin Viiret
98eff64edf
ng_prefilter: turn large max bound into inf
...
During prefilter region replacement, turn regions with very large max
bounds into repeats with inf max bound. This improves compile time and
the likelihood that we will actually be able to build an implementation
for such patterns.
2016-03-01 11:22:45 +11:00
Anatoly Burakov
fb932616ca
Multibyte matcher unit-tests
2016-03-01 11:21:39 +11:00
Anatoly Burakov
e6709cee5f
Bitmatcher unit-tests
2016-03-01 11:21:39 +11:00
Alex Coyte
a7d8dafb71
detach the sidecar
2016-03-01 11:13:23 +11:00
Alex Coyte
05beadf52f
Introduce REPEAT_ALWAYS model for {0,} castle repeats
...
As Castle guards the repeats, no more state is needed for these repeats
2016-03-01 11:10:20 +11:00
Justin Viiret
15c2980948
Make key 64 bits where large shifts may be used.
...
This fixes a long-standing issue with large multibit structures.
2015-12-07 09:38:32 +11:00
Justin Viiret
fd19168025
Restore \Q..\E support in character classes
2015-11-18 15:27:05 +11:00
Matthew Barr
f65170da5b
cmake: improve build paths for nested builds
...
If Hyperscan is built as a subproject of another cmake project, it helps to
refer to PROJECT_xx_DIR instead of CMAKE_xx_DIR, etc.
2015-11-10 14:36:39 +11:00