]>
git.ipfire.org Git - thirdparty/vectorscan.git/log
Justin Viiret [Fri, 27 May 2016 05:05:24 +0000 (15:05 +1000)]
rose: Do HWLM advisory masks as a complete pass
Justin Viiret [Fri, 27 May 2016 06:51:41 +0000 (16:51 +1000)]
rose: linear scan for lookaround during build
This allows us to reuse more lookaround entries in the bytecode.
Alex Coyte [Tue, 31 May 2016 04:46:09 +0000 (14:46 +1000)]
Provide access to scratch in queues
This largely reverts commit
f8ecf33236b0695d9539e8e34cf0bb0467614cdf .
Alex Coyte [Mon, 30 May 2016 04:00:31 +0000 (14:00 +1000)]
Prevent trying to build smallwrite engine for large cases
Alex Coyte [Fri, 6 May 2016 03:20:00 +0000 (13:20 +1000)]
use the correct way to refer to void *
Alex Coyte [Tue, 17 May 2016 05:05:42 +0000 (15:05 +1000)]
UE-2963: be more aggressive in using buildSufPQ_final()
Justin Viiret [Thu, 26 May 2016 04:21:40 +0000 (14:21 +1000)]
exhaust: move functions to report.h
Justin Viiret [Thu, 26 May 2016 00:11:19 +0000 (10:11 +1000)]
rose: dump leftfix/suffix queue indices
Boris Nagaev [Wed, 6 Jul 2016 16:46:41 +0000 (19:46 +0300)]
fix add_to_engine_blob for iterator=pointer
Boris Nagaev [Wed, 6 Jul 2016 16:46:25 +0000 (19:46 +0300)]
fix iter_wrapper for iterator=pointer
Matthew Barr [Wed, 1 Jun 2016 00:50:55 +0000 (10:50 +1000)]
Bump version number for release
Justin Viiret [Wed, 4 May 2016 07:36:46 +0000 (17:36 +1000)]
changelog: updates for 4.2 release
Justin Viiret [Mon, 30 May 2016 04:51:04 +0000 (14:51 +1000)]
docs: more detail on option setting
Justin Viiret [Mon, 30 May 2016 04:30:43 +0000 (14:30 +1000)]
doc: correct syntax for "extended" option setting
Extended syntax (ignore whitespace) is controlled with (?x) and (?-x).
Justin Viiret [Fri, 27 May 2016 01:11:04 +0000 (11:11 +1000)]
rose: always push CHECK_BOUNDS onto end of program
Justin Viiret [Fri, 27 May 2016 00:40:06 +0000 (10:40 +1000)]
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.
Matthew Barr [Mon, 23 May 2016 04:57:48 +0000 (14:57 +1000)]
cmake: invoke the compiler to test arch features
We require SSSE3, and optionally support AVX2, and the best way of testing
the compiler and compile flags is to run the compiler.
Matthew Barr [Mon, 9 May 2016 00:47:15 +0000 (10:47 +1000)]
We need an immediate so use intrinsic directly
Matthew Barr [Mon, 9 May 2016 00:53:54 +0000 (10:53 +1000)]
debug printf: Windows path separator
Matthew Barr [Wed, 11 May 2016 22:39:12 +0000 (08:39 +1000)]
vbs: the static array has C linkage
Matthew Barr [Wed, 11 May 2016 22:51:02 +0000 (08:51 +1000)]
masked move: C linkage
Matthew Barr [Thu, 7 Apr 2016 03:17:55 +0000 (13:17 +1000)]
Win32 ctz and clz
Matthew Barr [Fri, 20 May 2016 05:30:29 +0000 (15:30 +1000)]
popcount: use intrinsics and restructure defines
Justin Viiret [Fri, 20 May 2016 05:14:20 +0000 (15:14 +1000)]
fdr: teddy.h does not need to include hwlm.h
Justin Viiret [Fri, 20 May 2016 05:11:07 +0000 (15:11 +1000)]
fdr: remove dead function decls from teddy.h
Matthew Barr [Wed, 27 Apr 2016 05:05:44 +0000 (15:05 +1000)]
pkgconfig: Add Libs.private for static linking
Matthew Barr [Wed, 18 May 2016 05:50:38 +0000 (15:50 +1000)]
cmake: fix optimise define
Boris Nagaev [Wed, 18 May 2016 05:59:57 +0000 (07:59 +0200)]
install .dll to bin/, not to lib/
Matthew Barr [Tue, 10 May 2016 03:14:25 +0000 (13:14 +1000)]
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.
Justin Viiret [Mon, 9 May 2016 23:32:13 +0000 (09:32 +1000)]
fdr: ensure 16 bytes of pre-history in block mode
Justin Viiret [Mon, 9 May 2016 06:10:57 +0000 (16:10 +1000)]
ucp_table: clean up make_caseless
Justin Viiret [Mon, 9 May 2016 06:03:39 +0000 (16:03 +1000)]
ucp_table: don't always deref rv of lower_bound
Fixes a warning from asan.
Mohammad Abdul Awal [Thu, 31 Mar 2016 10:28:42 +0000 (11:28 +0100)]
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.
Justin Viiret [Mon, 9 May 2016 03:51:50 +0000 (13:51 +1000)]
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.
Justin Viiret [Sun, 8 May 2016 23:29:44 +0000 (09:29 +1000)]
scratch: don't leave in use after hs_clone_scratch
Also updated unit tests to always check hs_alloc_scratch()'s return
value.
Justin Viiret [Fri, 6 May 2016 04:20:38 +0000 (14:20 +1000)]
ue2string: fix broken function type in upperString
Silences warning from ubsan.
Justin Viiret [Fri, 6 May 2016 01:38:24 +0000 (11:38 +1000)]
unit: clean up getValidFdrEngines()
Justin Viiret [Fri, 6 May 2016 01:32:36 +0000 (11:32 +1000)]
unit: fix bug in teddy model unit tests
Anatoly Burakov [Tue, 19 Apr 2016 14:40:18 +0000 (15:40 +0100)]
Fix for multiaccel matcher unit test
Test was failing on 32-bit OS with AVX2
Justin Viiret [Tue, 3 May 2016 01:57:41 +0000 (11:57 +1000)]
doc: add description of serialization, runtime lib
Justin Viiret [Tue, 3 May 2016 01:12:36 +0000 (11:12 +1000)]
doc: clean up discussion of scratch space
Justin Viiret [Tue, 3 May 2016 03:18:19 +0000 (13:18 +1000)]
doc: update copyright dates
Justin Viiret [Wed, 4 May 2016 03:56:24 +0000 (13:56 +1000)]
fdr_streaming_runtime: include <string.h>
Required for use of memcpy().
Justin Viiret [Wed, 27 Apr 2016 23:34:37 +0000 (09:34 +1000)]
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.
Alex Coyte [Mon, 2 May 2016 03:03:17 +0000 (13:03 +1000)]
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
Justin Viiret [Thu, 28 Apr 2016 23:16:39 +0000 (09:16 +1000)]
fdr: confVal load can be unaligned
Alex Coyte [Wed, 27 Apr 2016 05:17:05 +0000 (15:17 +1000)]
remove unused parts of fdr_loadval
Mohammad Abdul Awal [Thu, 24 Mar 2016 02:59:56 +0000 (13:59 +1100)]
fdr: Remove python codegen, add safezones
Alex Coyte [Mon, 18 Apr 2016 01:23:56 +0000 (11:23 +1000)]
add m128 byte shift functions
variable_byte_shift_m128 taken from pug-interpreter branch
Justin Viiret [Wed, 27 Apr 2016 06:37:25 +0000 (16:37 +1000)]
fdr: don't include fdr.h if not necessary
Justin Viiret [Wed, 27 Apr 2016 05:50:16 +0000 (15:50 +1000)]
fdr: move fdrSize into namespace ue2 (build only)
Alex Coyte [Thu, 14 Apr 2016 02:30:46 +0000 (12:30 +1000)]
mcclellan compile: more efficient discovery of accel
Justin Viiret [Fri, 22 Apr 2016 06:09:39 +0000 (16:09 +1000)]
noodle_build: update interface to use hwlmLiteral
Justin Viiret [Thu, 21 Apr 2016 03:39:16 +0000 (13:39 +1000)]
cmpForward: assume (and assert) p2 is upper-case
Justin Viiret [Thu, 21 Apr 2016 05:07:21 +0000 (15:07 +1000)]
unit: fix up noodle unit tests
Justin Viiret [Thu, 21 Apr 2016 04:17:45 +0000 (14:17 +1000)]
hwlm_literal: coerce nocase lits to upper-case
Justin Viiret [Thu, 21 Apr 2016 03:57:57 +0000 (13:57 +1000)]
ue2string: bring caseless cmp inline
Matthew Barr [Thu, 21 Apr 2016 05:50:01 +0000 (15:50 +1000)]
noodle: remove redundant bitmask
Matthew Barr [Thu, 21 Apr 2016 05:39:47 +0000 (15:39 +1000)]
noodle: use SSE palignr
Justin Viiret [Wed, 20 Apr 2016 07:11:25 +0000 (17:11 +1000)]
ng_mcclellan: move logic into base class
Move all of the Automaton logic into Automaton_Base, which is templated
on its StateSet/StateMap types.
Justin Viiret [Wed, 20 Apr 2016 05:37:17 +0000 (15:37 +1000)]
ng_haig: move logic into base class
Move all of the Automaton logic into Automaton_Base, which is templated
on its StateSet/StateMap types.
Justin Viiret [Wed, 20 Apr 2016 02:41:02 +0000 (12:41 +1000)]
rose: assert that program offset is sane
Justin Viiret [Tue, 19 Apr 2016 23:47:12 +0000 (09:47 +1000)]
nfa_kind: documentation
Justin Viiret [Tue, 19 Apr 2016 05:22:20 +0000 (15:22 +1000)]
mpv: native report remapping
Justin Viiret [Tue, 19 Apr 2016 04:42:45 +0000 (14:42 +1000)]
castle, lbr: native report remap
Justin Viiret [Tue, 19 Apr 2016 03:51:41 +0000 (13:51 +1000)]
castle: add nfa kind to CastleProto
Justin Viiret [Tue, 19 Apr 2016 01:53:10 +0000 (11:53 +1000)]
mcclellan, gough: native report remapping
Justin Viiret [Mon, 18 Apr 2016 04:40:58 +0000 (14:40 +1000)]
rose: remap reports to program offsets
Justin Viiret [Mon, 18 Apr 2016 04:20:45 +0000 (14:20 +1000)]
report_manager: store report -> program mapping
Justin Viiret [Mon, 18 Apr 2016 03:21:34 +0000 (13:21 +1000)]
Merge functions no longer need transfer function
Justin Viiret [Mon, 18 Apr 2016 03:12:15 +0000 (13:12 +1000)]
Remove OutfixInfo::chained (which meant "is MPV")
Justin Viiret [Sun, 17 Apr 2016 23:49:13 +0000 (09:49 +1000)]
Use a visitor for outfix engine construction
Justin Viiret [Fri, 15 Apr 2016 06:41:35 +0000 (16:41 +1000)]
OutfixInfo: use boost::variant for engines
Justin Viiret [Fri, 15 Apr 2016 05:28:23 +0000 (15:28 +1000)]
Wrap MPV puffettes in a struct
Justin Viiret [Mon, 18 Apr 2016 01:05:01 +0000 (11:05 +1000)]
scratch: delete unused hs_scratch::qNfaState
Justin Viiret [Fri, 15 Apr 2016 00:56:43 +0000 (10:56 +1000)]
ng_limex_accel: delete unused DAccelScheme ctor
Justin Viiret [Fri, 15 Apr 2016 00:48:09 +0000 (10:48 +1000)]
report: remove dead function isInternalSomReport
Justin Viiret [Fri, 15 Apr 2016 00:45:52 +0000 (10:45 +1000)]
report: remove dead function satisfiesMinLength
Justin Viiret [Thu, 14 Apr 2016 00:08:36 +0000 (10:08 +1000)]
FINAL_REPORT: Add specialised instruction
Specialisation of the REPORT instruction that also terminates execution
of the program. Improves performance on programs that generate many
reports.
Justin Viiret [Tue, 22 Mar 2016 05:45:09 +0000 (16:45 +1100)]
Rose: replace internal_report with program
Replace the use of the internal_report structure (for reports from
engines, MPV etc) with the Rose program interpreter.
SOM processing was reworked to use a new som_operation structure that is
embedded in the appropriate instructions.
Matthew Barr [Wed, 13 Apr 2016 02:00:36 +0000 (12:00 +1000)]
Help ICC perform a not m128
Justin Viiret [Wed, 13 Apr 2016 00:19:39 +0000 (10:19 +1000)]
shufti: small C++11 fix to silence clang warning
Alex Coyte [Mon, 11 Apr 2016 23:52:53 +0000 (09:52 +1000)]
bitfield: unroll main operators
Alex Coyte [Mon, 11 Apr 2016 03:47:10 +0000 (13:47 +1000)]
CharReach operators inline
Alex Coyte [Wed, 6 Apr 2016 06:43:32 +0000 (16:43 +1000)]
unify some accel code/structures between limex and mcclellan
Alex Coyte [Tue, 5 Apr 2016 04:31:13 +0000 (14:31 +1000)]
more efficent accel path discovery
Alex Coyte [Tue, 5 Apr 2016 01:07:26 +0000 (11:07 +1000)]
smallwrite: don't recompile the dfa if prune fails
Alex Coyte [Mon, 4 Apr 2016 05:54:09 +0000 (15:54 +1000)]
raise the limit of strings in double shufti
Alex Coyte [Mon, 4 Apr 2016 01:02:59 +0000 (11:02 +1000)]
allow double shufti to share buckets
Alex Coyte [Wed, 30 Mar 2016 00:14:59 +0000 (11:14 +1100)]
make dverm more precise
Alex Coyte [Mon, 21 Mar 2016 05:19:46 +0000 (16:19 +1100)]
masked version of dverm
Alex Coyte [Wed, 9 Mar 2016 22:58:28 +0000 (09:58 +1100)]
refactoring of double byte offset accel to use paths and add to mcclellan
Alex Coyte [Fri, 4 Mar 2016 03:20:53 +0000 (14:20 +1100)]
look for normal accel schemes using compressed alpha
Alex Coyte [Tue, 16 Feb 2016 02:37:39 +0000 (13:37 +1100)]
simple offset accel for mcclellan start state
Alex Coyte [Sun, 20 Mar 2016 22:38:30 +0000 (09:38 +1100)]
dump contents of double shufti masks
Alex Coyte [Thu, 7 Apr 2016 05:25:05 +0000 (15:25 +1000)]
move MultibyteAccelInfo to accelcompile.h
Justin Viiret [Thu, 7 Apr 2016 06:33:11 +0000 (16:33 +1000)]
exhaust: Update interface
- Only use functions in exhaust.h for valid ekeys
- Use INVALID_EKEY everywhere (remove dupe END_EXHAUST sentinel)
Justin Viiret [Tue, 5 Apr 2016 03:25:39 +0000 (13:25 +1000)]
Runtime: be more careful with status bits
Justin Viiret [Mon, 4 Apr 2016 06:04:28 +0000 (16:04 +1000)]
Rose: use a multibit for the exhaustion vector
Previously, the exhaustion vector was a standard bitvector, which
required an expensive memset() call at init for databases with a large
number of exhaustion keys.
Justin Viiret [Mon, 4 Apr 2016 06:19:55 +0000 (16:19 +1000)]
mmbit_all: True if all keys are switched on