]> git.ipfire.org Git - thirdparty/vectorscan.git/log
thirdparty/vectorscan.git
10 years agocmake: invoke the compiler to test arch features
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.

10 years agoWe need an immediate so use intrinsic directly
Matthew Barr [Mon, 9 May 2016 00:47:15 +0000 (10:47 +1000)] 
We need an immediate so use intrinsic directly

10 years agodebug printf: Windows path separator
Matthew Barr [Mon, 9 May 2016 00:53:54 +0000 (10:53 +1000)] 
debug printf: Windows path separator

10 years agovbs: the static array has C linkage
Matthew Barr [Wed, 11 May 2016 22:39:12 +0000 (08:39 +1000)] 
vbs: the static array has C linkage

10 years agomasked move: C linkage
Matthew Barr [Wed, 11 May 2016 22:51:02 +0000 (08:51 +1000)] 
masked move: C linkage

10 years agoWin32 ctz and clz
Matthew Barr [Thu, 7 Apr 2016 03:17:55 +0000 (13:17 +1000)] 
Win32 ctz and clz

10 years agopopcount: use intrinsics and restructure defines
Matthew Barr [Fri, 20 May 2016 05:30:29 +0000 (15:30 +1000)] 
popcount: use intrinsics and restructure defines

10 years agofdr: teddy.h does not need to include hwlm.h
Justin Viiret [Fri, 20 May 2016 05:14:20 +0000 (15:14 +1000)] 
fdr: teddy.h does not need to include hwlm.h

10 years agofdr: remove dead function decls from teddy.h
Justin Viiret [Fri, 20 May 2016 05:11:07 +0000 (15:11 +1000)] 
fdr: remove dead function decls from teddy.h

10 years agopkgconfig: Add Libs.private for static linking
Matthew Barr [Wed, 27 Apr 2016 05:05:44 +0000 (15:05 +1000)] 
pkgconfig: Add Libs.private for static linking

10 years agocmake: fix optimise define
Matthew Barr [Wed, 18 May 2016 05:50:38 +0000 (15:50 +1000)] 
cmake: fix optimise define

10 years agoinstall .dll to bin/, not to lib/
Boris Nagaev [Wed, 18 May 2016 05:59:57 +0000 (07:59 +0200)] 
install .dll to bin/, not to lib/

10 years agoCombine struct elements to avoid inheritance
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.

10 years agofdr: ensure 16 bytes of pre-history in block mode
Justin Viiret [Mon, 9 May 2016 23:32:13 +0000 (09:32 +1000)] 
fdr: ensure 16 bytes of pre-history in block mode

10 years agoucp_table: clean up make_caseless
Justin Viiret [Mon, 9 May 2016 06:10:57 +0000 (16:10 +1000)] 
ucp_table: clean up make_caseless

10 years agoucp_table: don't always deref rv of lower_bound
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.

10 years agoteddy: remove python codegen, refactor code
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.

10 years agounit-internal: fix FDR issues reported by ASan
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.

10 years agoscratch: don't leave in use after hs_clone_scratch
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.

10 years agoue2string: fix broken function type in upperString
Justin Viiret [Fri, 6 May 2016 04:20:38 +0000 (14:20 +1000)] 
ue2string: fix broken function type in upperString

Silences warning from ubsan.

10 years agounit: clean up getValidFdrEngines()
Justin Viiret [Fri, 6 May 2016 01:38:24 +0000 (11:38 +1000)] 
unit: clean up getValidFdrEngines()

10 years agounit: fix bug in teddy model unit tests
Justin Viiret [Fri, 6 May 2016 01:32:36 +0000 (11:32 +1000)] 
unit: fix bug in teddy model unit tests

10 years agoFix for multiaccel matcher unit test
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

10 years agodoc: add description of serialization, runtime lib
Justin Viiret [Tue, 3 May 2016 01:57:41 +0000 (11:57 +1000)] 
doc: add description of serialization, runtime lib

10 years agodoc: clean up discussion of scratch space
Justin Viiret [Tue, 3 May 2016 01:12:36 +0000 (11:12 +1000)] 
doc: clean up discussion of scratch space

10 years agodoc: update copyright dates
Justin Viiret [Tue, 3 May 2016 03:18:19 +0000 (13:18 +1000)] 
doc: update copyright dates

10 years agofdr_streaming_runtime: include <string.h>
Justin Viiret [Wed, 4 May 2016 03:56:24 +0000 (13:56 +1000)] 
fdr_streaming_runtime: include <string.h>

Required for use of memcpy().

10 years agoruntime: add error for "scratch in use"
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.

10 years agorestore ability to ignore common preds for merges
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

10 years agofdr: confVal load can be unaligned
Justin Viiret [Thu, 28 Apr 2016 23:16:39 +0000 (09:16 +1000)] 
fdr: confVal load can be unaligned

10 years agoremove unused parts of fdr_loadval
Alex Coyte [Wed, 27 Apr 2016 05:17:05 +0000 (15:17 +1000)] 
remove unused parts of fdr_loadval

10 years agofdr: Remove python codegen, add safezones
Mohammad Abdul Awal [Thu, 24 Mar 2016 02:59:56 +0000 (13:59 +1100)] 
fdr: Remove python codegen, add safezones

10 years agoadd m128 byte shift functions
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

10 years agofdr: don't include fdr.h if not necessary
Justin Viiret [Wed, 27 Apr 2016 06:37:25 +0000 (16:37 +1000)] 
fdr: don't include fdr.h if not necessary

10 years agofdr: move fdrSize into namespace ue2 (build only)
Justin Viiret [Wed, 27 Apr 2016 05:50:16 +0000 (15:50 +1000)] 
fdr: move fdrSize into namespace ue2 (build only)

10 years agomcclellan compile: more efficient discovery of accel
Alex Coyte [Thu, 14 Apr 2016 02:30:46 +0000 (12:30 +1000)] 
mcclellan compile: more efficient discovery of accel

10 years agonoodle_build: update interface to use hwlmLiteral
Justin Viiret [Fri, 22 Apr 2016 06:09:39 +0000 (16:09 +1000)] 
noodle_build: update interface to use hwlmLiteral

10 years agocmpForward: assume (and assert) p2 is upper-case
Justin Viiret [Thu, 21 Apr 2016 03:39:16 +0000 (13:39 +1000)] 
cmpForward: assume (and assert) p2 is upper-case

10 years agounit: fix up noodle unit tests
Justin Viiret [Thu, 21 Apr 2016 05:07:21 +0000 (15:07 +1000)] 
unit: fix up noodle unit tests

10 years agohwlm_literal: coerce nocase lits to upper-case
Justin Viiret [Thu, 21 Apr 2016 04:17:45 +0000 (14:17 +1000)] 
hwlm_literal: coerce nocase lits to upper-case

10 years agoue2string: bring caseless cmp inline
Justin Viiret [Thu, 21 Apr 2016 03:57:57 +0000 (13:57 +1000)] 
ue2string: bring caseless cmp inline

10 years agonoodle: remove redundant bitmask
Matthew Barr [Thu, 21 Apr 2016 05:50:01 +0000 (15:50 +1000)] 
noodle: remove redundant bitmask

10 years agonoodle: use SSE palignr
Matthew Barr [Thu, 21 Apr 2016 05:39:47 +0000 (15:39 +1000)] 
noodle: use SSE palignr

10 years agong_mcclellan: move logic into base class
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.

10 years agong_haig: move logic into base class
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.

10 years agorose: assert that program offset is sane
Justin Viiret [Wed, 20 Apr 2016 02:41:02 +0000 (12:41 +1000)] 
rose: assert that program offset is sane

10 years agonfa_kind: documentation
Justin Viiret [Tue, 19 Apr 2016 23:47:12 +0000 (09:47 +1000)] 
nfa_kind: documentation

10 years agompv: native report remapping
Justin Viiret [Tue, 19 Apr 2016 05:22:20 +0000 (15:22 +1000)] 
mpv: native report remapping

10 years agocastle, lbr: native report remap
Justin Viiret [Tue, 19 Apr 2016 04:42:45 +0000 (14:42 +1000)] 
castle, lbr: native report remap

10 years agocastle: add nfa kind to CastleProto
Justin Viiret [Tue, 19 Apr 2016 03:51:41 +0000 (13:51 +1000)] 
castle: add nfa kind to CastleProto

10 years agomcclellan, gough: native report remapping
Justin Viiret [Tue, 19 Apr 2016 01:53:10 +0000 (11:53 +1000)] 
mcclellan, gough: native report remapping

10 years agorose: remap reports to program offsets
Justin Viiret [Mon, 18 Apr 2016 04:40:58 +0000 (14:40 +1000)] 
rose: remap reports to program offsets

10 years agoreport_manager: store report -> program mapping
Justin Viiret [Mon, 18 Apr 2016 04:20:45 +0000 (14:20 +1000)] 
report_manager: store report -> program mapping

10 years agoMerge functions no longer need transfer function
Justin Viiret [Mon, 18 Apr 2016 03:21:34 +0000 (13:21 +1000)] 
Merge functions no longer need transfer function

10 years agoRemove OutfixInfo::chained (which meant "is MPV")
Justin Viiret [Mon, 18 Apr 2016 03:12:15 +0000 (13:12 +1000)] 
Remove OutfixInfo::chained (which meant "is MPV")

10 years agoUse a visitor for outfix engine construction
Justin Viiret [Sun, 17 Apr 2016 23:49:13 +0000 (09:49 +1000)] 
Use a visitor for outfix engine construction

10 years agoOutfixInfo: use boost::variant for engines
Justin Viiret [Fri, 15 Apr 2016 06:41:35 +0000 (16:41 +1000)] 
OutfixInfo: use boost::variant for engines

10 years agoWrap MPV puffettes in a struct
Justin Viiret [Fri, 15 Apr 2016 05:28:23 +0000 (15:28 +1000)] 
Wrap MPV puffettes in a struct

10 years agoscratch: delete unused hs_scratch::qNfaState
Justin Viiret [Mon, 18 Apr 2016 01:05:01 +0000 (11:05 +1000)] 
scratch: delete unused hs_scratch::qNfaState

10 years agong_limex_accel: delete unused DAccelScheme ctor
Justin Viiret [Fri, 15 Apr 2016 00:56:43 +0000 (10:56 +1000)] 
ng_limex_accel: delete unused DAccelScheme ctor

10 years agoreport: remove dead function isInternalSomReport
Justin Viiret [Fri, 15 Apr 2016 00:48:09 +0000 (10:48 +1000)] 
report: remove dead function isInternalSomReport

10 years agoreport: remove dead function satisfiesMinLength
Justin Viiret [Fri, 15 Apr 2016 00:45:52 +0000 (10:45 +1000)] 
report: remove dead function satisfiesMinLength

10 years agoFINAL_REPORT: Add specialised instruction
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.

10 years agoRose: replace internal_report with program
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.

10 years agoHelp ICC perform a not m128
Matthew Barr [Wed, 13 Apr 2016 02:00:36 +0000 (12:00 +1000)] 
Help ICC perform a not m128

10 years agoshufti: small C++11 fix to silence clang warning
Justin Viiret [Wed, 13 Apr 2016 00:19:39 +0000 (10:19 +1000)] 
shufti: small C++11 fix to silence clang warning

10 years agobitfield: unroll main operators
Alex Coyte [Mon, 11 Apr 2016 23:52:53 +0000 (09:52 +1000)] 
bitfield: unroll main operators

10 years agoCharReach operators inline
Alex Coyte [Mon, 11 Apr 2016 03:47:10 +0000 (13:47 +1000)] 
CharReach operators inline

10 years agounify some accel code/structures between limex and mcclellan
Alex Coyte [Wed, 6 Apr 2016 06:43:32 +0000 (16:43 +1000)] 
unify some accel code/structures between limex and mcclellan

10 years agomore efficent accel path discovery
Alex Coyte [Tue, 5 Apr 2016 04:31:13 +0000 (14:31 +1000)] 
more efficent accel path discovery

10 years agosmallwrite: don't recompile the dfa if prune fails
Alex Coyte [Tue, 5 Apr 2016 01:07:26 +0000 (11:07 +1000)] 
smallwrite: don't recompile the dfa if prune fails

10 years agoraise the limit of strings in double shufti
Alex Coyte [Mon, 4 Apr 2016 05:54:09 +0000 (15:54 +1000)] 
raise the limit of strings in double shufti

10 years agoallow double shufti to share buckets
Alex Coyte [Mon, 4 Apr 2016 01:02:59 +0000 (11:02 +1000)] 
allow double shufti to share buckets

10 years agomake dverm more precise
Alex Coyte [Wed, 30 Mar 2016 00:14:59 +0000 (11:14 +1100)] 
make dverm more precise

10 years agomasked version of dverm
Alex Coyte [Mon, 21 Mar 2016 05:19:46 +0000 (16:19 +1100)] 
masked version of dverm

10 years agorefactoring of double byte offset accel to use paths and add to mcclellan
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

10 years agolook for normal accel schemes using compressed alpha
Alex Coyte [Fri, 4 Mar 2016 03:20:53 +0000 (14:20 +1100)] 
look for normal accel schemes using compressed alpha

10 years agosimple offset accel for mcclellan start state
Alex Coyte [Tue, 16 Feb 2016 02:37:39 +0000 (13:37 +1100)] 
simple offset accel for mcclellan start state

10 years agodump contents of double shufti masks
Alex Coyte [Sun, 20 Mar 2016 22:38:30 +0000 (09:38 +1100)] 
dump contents of double shufti masks

10 years agomove MultibyteAccelInfo to accelcompile.h
Alex Coyte [Thu, 7 Apr 2016 05:25:05 +0000 (15:25 +1000)] 
move MultibyteAccelInfo to accelcompile.h

10 years agoexhaust: Update interface
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)

10 years agoRuntime: be more careful with status bits
Justin Viiret [Tue, 5 Apr 2016 03:25:39 +0000 (13:25 +1000)] 
Runtime: be more careful with status bits

10 years agoRose: use a multibit for the exhaustion vector
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.

10 years agommbit_all: True if all keys are switched on
Justin Viiret [Mon, 4 Apr 2016 06:19:55 +0000 (16:19 +1000)] 
mmbit_all: True if all keys are switched on

10 years agompv: fire only one report when simple-exhaustible
Justin Viiret [Wed, 6 Apr 2016 05:06:48 +0000 (15:06 +1000)] 
mpv: fire only one report when simple-exhaustible

10 years agompv: use size_t for count, not u32
Justin Viiret [Wed, 6 Apr 2016 04:44:22 +0000 (14:44 +1000)] 
mpv: use size_t for count, not u32

Small cleanup in processReportsForRange.

10 years agoBuild convenience libraries as static libs
Matthew Barr [Wed, 6 Apr 2016 01:09:08 +0000 (11:09 +1000)] 
Build convenience libraries as static libs

10 years agoRemove unused storeu macros
Matthew Barr [Tue, 5 Apr 2016 00:36:50 +0000 (10:36 +1000)] 
Remove unused storeu macros

10 years agoRemove unused loadu2x128
Matthew Barr [Tue, 5 Apr 2016 00:13:34 +0000 (10:13 +1000)] 
Remove unused loadu2x128

10 years agommbit_iterate_bounded: make block_width u64a
Justin Viiret [Tue, 5 Apr 2016 05:18:33 +0000 (15:18 +1000)] 
mmbit_iterate_bounded: make block_width u64a

10 years agoremove HAVE_PTHREAD_H
Matthew Barr [Tue, 29 Mar 2016 05:41:27 +0000 (16:41 +1100)] 
remove HAVE_PTHREAD_H

10 years agoremove ENABLE_TOOLS_THREADS
Matthew Barr [Tue, 29 Mar 2016 05:39:58 +0000 (16:39 +1100)] 
remove ENABLE_TOOLS_THREADS

10 years agomcclellan: Remove the use of state numbering
Justin Viiret [Wed, 23 Mar 2016 00:47:54 +0000 (11:47 +1100)] 
mcclellan: Remove the use of state numbering

McClellan and Haig only need to know which states are not participants
(i.e. unused start, startDs)

10 years agong_find_matches: Simplify and improve performance
Justin Viiret [Thu, 5 Nov 2015 05:32:10 +0000 (16:32 +1100)] 
ng_find_matches: Simplify and improve performance

Improve performance by using bitsets rather than sets of vertex
indices.

10 years agoshufticompile: Remove unused mergeShuftiMask
Justin Viiret [Tue, 15 Mar 2016 05:36:39 +0000 (16:36 +1100)] 
shufticompile: Remove unused mergeShuftiMask

10 years agoscratch: Remove (now unused) tctxtToScratch
Justin Viiret [Tue, 15 Mar 2016 05:31:13 +0000 (16:31 +1100)] 
scratch: Remove (now unused) tctxtToScratch

10 years agocastle/repeat: fix a number of bugs
Justin Viiret [Sun, 13 Mar 2016 22:28:17 +0000 (09:28 +1100)] 
castle/repeat: fix a number of bugs

- Add fits_in_len_bytes assertions for packed stores.
  Corrects the assertion formerly on line 888.

- In exclusive mode, don't overwrite packedCtrlSize with the max of the
  group; each repeat should know how many bytes it is using, even if
  they share the same stream state.

- Ensure that exclusive mode stream state is sized correctly.

10 years agoPrintTo functions for google test and valgrind
Matthew Barr [Tue, 8 Mar 2016 03:53:03 +0000 (14:53 +1100)] 
PrintTo functions for google test and valgrind

10 years agoUE-2919: add termination checks around handleReportInternally
Alex Coyte [Mon, 7 Mar 2016 03:48:01 +0000 (14:48 +1100)] 
UE-2919: add termination checks around handleReportInternally

10 years agomakeReport: remove unused param
Justin Viiret [Fri, 4 Mar 2016 03:46:42 +0000 (14:46 +1100)] 
makeReport: remove unused param