]> git.ipfire.org Git - thirdparty/vectorscan.git/log
thirdparty/vectorscan.git
8 years agolookaround: reduce compile time for trimLiterals
Justin Viiret [Wed, 1 Feb 2017 03:47:05 +0000 (14:47 +1100)] 
lookaround: reduce compile time for trimLiterals

8 years agosafety assertions for delayed rebuild
Justin Viiret [Tue, 31 Jan 2017 23:50:44 +0000 (10:50 +1100)] 
safety assertions for delayed rebuild

8 years agorose: define invalid value for program offset
Justin Viiret [Tue, 31 Jan 2017 23:41:32 +0000 (10:41 +1100)] 
rose: define invalid value for program offset

8 years agoassert program offsets are non-zero
Justin Viiret [Tue, 31 Jan 2017 23:37:15 +0000 (10:37 +1100)] 
assert program offsets are non-zero

8 years agorose: use final_ids less in program construction
Justin Viiret [Tue, 31 Jan 2017 03:28:56 +0000 (14:28 +1100)] 
rose: use final_ids less in program construction

8 years agomove final_id_to_literal into build_context
Justin Viiret [Tue, 31 Jan 2017 02:11:04 +0000 (13:11 +1100)] 
move final_id_to_literal into build_context

8 years agorose: do fragment group assignment earlier
Justin Viiret [Tue, 31 Jan 2017 01:49:43 +0000 (12:49 +1100)] 
rose: do fragment group assignment earlier

8 years agorose: make groupByFragment local
Justin Viiret [Tue, 31 Jan 2017 01:25:11 +0000 (12:25 +1100)] 
rose: make groupByFragment local

8 years agorose: delete RoseEngine::literalCount
Justin Viiret [Tue, 31 Jan 2017 00:31:17 +0000 (11:31 +1100)] 
rose: delete RoseEngine::literalCount

8 years agoremove lit program tables from bytecode
Justin Viiret [Tue, 31 Jan 2017 00:14:51 +0000 (11:14 +1100)] 
remove lit program tables from bytecode

8 years agorose: dump lit programs from frag map
Justin Viiret [Tue, 31 Jan 2017 00:10:30 +0000 (11:10 +1100)] 
rose: dump lit programs from frag map

8 years agorose: merge all dump code into rose_build_dump.cpp
Justin Viiret [Mon, 30 Jan 2017 23:57:09 +0000 (10:57 +1100)] 
rose: merge all dump code into rose_build_dump.cpp

8 years agotidy up args to builders
Justin Viiret [Mon, 30 Jan 2017 23:28:10 +0000 (10:28 +1100)] 
tidy up args to builders

8 years agomove final_to_frag_map into RoseBuildImpl (for dump code)
Justin Viiret [Mon, 30 Jan 2017 23:22:23 +0000 (10:22 +1100)] 
move final_to_frag_map into RoseBuildImpl (for dump code)

8 years agostream: simplify do_rebuild call site
Justin Viiret [Mon, 30 Jan 2017 22:53:16 +0000 (09:53 +1100)] 
stream: simplify do_rebuild call site

8 years agorose: use program offsets directly in lit tables
Justin Viiret [Sun, 29 Jan 2017 22:14:03 +0000 (09:14 +1100)] 
rose: use program offsets directly in lit tables

8 years agorose: build a separate delay rebuild matcher
Justin Viiret [Wed, 25 Jan 2017 03:45:12 +0000 (14:45 +1100)] 
rose: build a separate delay rebuild matcher

8 years agorole aliasing: bail if new graph is not implementable
Justin Viiret [Wed, 1 Feb 2017 02:08:20 +0000 (13:08 +1100)] 
role aliasing: bail if new graph is not implementable

8 years agoviolet: use bitset to speed up poisonFromSuccessor
Justin Viiret [Wed, 25 Jan 2017 00:29:45 +0000 (11:29 +1100)] 
violet: use bitset to speed up poisonFromSuccessor

8 years agoallow streams to marked as exhausted in more cases
Alex Coyte [Mon, 30 Jan 2017 22:29:41 +0000 (09:29 +1100)] 
allow streams to marked as exhausted in more cases

At stream boundaries, we can mark streams as exhausted if there are no
groups active and there are no other ways to report matches. This allows us
to stop maintaining the history buffer on subsequent stream writes.
Previously, streams were only marked as exhausted if a pure highlander case
reported all patterns or the outfix in a sole outfix case died.

8 years agomake expected too large patterns even larger
Alex Coyte [Mon, 30 Jan 2017 22:09:57 +0000 (09:09 +1100)] 
make expected too large patterns even larger

8 years agoviolet: heuristic tweaks for ensuring implementablity
Alex Coyte [Thu, 12 Jan 2017 02:33:34 +0000 (13:33 +1100)] 
violet: heuristic tweaks for ensuring implementablity

8 years agoremove ng_rose
Alex Coyte [Thu, 5 Jan 2017 01:35:32 +0000 (12:35 +1100)] 
remove ng_rose

8 years agoadd checkViolet and switch SOM path accross to use violet
Alex Coyte [Thu, 5 Jan 2017 00:37:34 +0000 (11:37 +1100)] 
add checkViolet and switch SOM path accross to use violet

8 years agoviolet: decompose further for implementability
Alex Coyte [Wed, 4 Jan 2017 02:15:30 +0000 (13:15 +1100)] 
violet: decompose further for implementability

8 years agotidy
Alex Coyte [Thu, 5 Jan 2017 22:12:22 +0000 (09:12 +1100)] 
tidy

8 years agoremove util functions from ng_rose.
Alex Coyte [Wed, 4 Jan 2017 23:50:59 +0000 (10:50 +1100)] 
remove util functions from ng_rose.

8 years agorefactor restoreTrailingLiteral use
Alex Coyte [Wed, 4 Jan 2017 00:41:59 +0000 (11:41 +1100)] 
refactor restoreTrailingLiteral use

8 years agoshift all early_dfa creation logic to ng_violet/ng_rose
Alex Coyte [Thu, 8 Dec 2016 03:05:44 +0000 (14:05 +1100)] 
shift all early_dfa creation logic to ng_violet/ng_rose

8 years agoallow outfixes to be converted to prefixes of the eod event literal
Alex Coyte [Wed, 11 Jan 2017 03:38:18 +0000 (14:38 +1100)] 
allow outfixes to be converted to prefixes of the eod event literal

8 years agoshift early_dfa construction earlier
Alex Coyte [Thu, 1 Dec 2016 05:10:34 +0000 (16:10 +1100)] 
shift early_dfa construction earlier

8 years agoadd information on the runtime impl to rose.txt
Alex Coyte [Mon, 16 Jan 2017 23:23:23 +0000 (10:23 +1100)] 
add information on the runtime impl to rose.txt

8 years agoremove 'fast teddy' models
Alex Coyte [Mon, 30 Jan 2017 05:06:48 +0000 (16:06 +1100)] 
remove 'fast teddy' models

8 years agofdr: remove dead code to do with link structures
Justin Viiret [Wed, 25 Jan 2017 00:49:53 +0000 (11:49 +1100)] 
fdr: remove dead code to do with link structures

8 years agoPCRE version updated to 8.40
Matthew Barr [Tue, 24 Jan 2017 23:48:23 +0000 (10:48 +1100)] 
PCRE version updated to 8.40

8 years agorose: delete literal_info requires_explode flag
Justin Viiret [Wed, 14 Dec 2016 06:13:49 +0000 (17:13 +1100)] 
rose: delete literal_info requires_explode flag

8 years agorose: explode mixed-case literals early
Justin Viiret [Wed, 14 Dec 2016 05:16:59 +0000 (16:16 +1100)] 
rose: explode mixed-case literals early

8 years agofdr: remove confirm split and pull-back
Wang, Xiang W [Thu, 15 Dec 2016 02:38:03 +0000 (21:38 -0500)] 
fdr: remove confirm split and pull-back

8 years agoflat_set/map: make erase() take const_iterator
Justin Viiret [Mon, 23 Jan 2017 04:00:22 +0000 (15:00 +1100)] 
flat_set/map: make erase() take const_iterator

8 years agoflat_base: move swap()
Justin Viiret [Fri, 20 Jan 2017 05:20:22 +0000 (16:20 +1100)] 
flat_base: move swap()

8 years agoflat_base: take more common operations
Justin Viiret [Fri, 20 Jan 2017 05:17:48 +0000 (16:17 +1100)] 
flat_base: take more common operations

8 years agoflat_base: take more common operations
Justin Viiret [Fri, 20 Jan 2017 05:12:59 +0000 (16:12 +1100)] 
flat_base: take more common operations

8 years agoflat_set: move comp/data helpers to base
Justin Viiret [Fri, 20 Jan 2017 05:06:06 +0000 (16:06 +1100)] 
flat_set: move comp/data helpers to base

8 years agoflat_set/map: use boost::totally_ordered
Justin Viiret [Fri, 20 Jan 2017 04:52:55 +0000 (15:52 +1100)] 
flat_set/map: use boost::totally_ordered

8 years agoflat_map: add value_comp()
Justin Viiret [Fri, 20 Jan 2017 04:45:47 +0000 (15:45 +1100)] 
flat_map: add value_comp()

8 years agoflat_set/map: add hash_value tests
Justin Viiret [Tue, 17 Jan 2017 03:31:21 +0000 (14:31 +1100)] 
flat_set/map: add hash_value tests

8 years agoflat_map: small doc fix
Justin Viiret [Tue, 17 Jan 2017 03:22:21 +0000 (14:22 +1100)] 
flat_map: small doc fix

8 years agoflat_set/map: back with small_vector
Justin Viiret [Thu, 22 Dec 2016 02:37:00 +0000 (13:37 +1100)] 
flat_set/map: back with small_vector

8 years agoflat_set: cheesy tuple-based ebo
Justin Viiret [Fri, 2 Dec 2016 05:40:06 +0000 (16:40 +1100)] 
flat_set: cheesy tuple-based ebo

8 years agoflat_set: modernize iter_wrapper ctors
Justin Viiret [Mon, 5 Dec 2016 01:39:25 +0000 (12:39 +1100)] 
flat_set: modernize iter_wrapper ctors

8 years agorose: do not combine fragments which squash groups
Justin Viiret [Mon, 23 Jan 2017 23:01:59 +0000 (10:01 +1100)] 
rose: do not combine fragments which squash groups

8 years agofilterLits: better debug output
Justin Viiret [Mon, 23 Jan 2017 22:41:07 +0000 (09:41 +1100)] 
filterLits: better debug output

8 years agorose: role aliasing improvements
Justin Viiret [Tue, 17 Jan 2017 23:06:10 +0000 (10:06 +1100)] 
rose: role aliasing improvements

These changes improve the performance of the role aliasing passes on
very large cases and fix a couple of small errors in the left and right
merge passes as well.

8 years agofdr: remove clamp on confirm size
Justin Viiret [Mon, 23 Jan 2017 05:20:09 +0000 (16:20 +1100)] 
fdr: remove clamp on confirm size

8 years agofdr_compile: remove dead var
Justin Viiret [Mon, 23 Jan 2017 04:10:55 +0000 (15:10 +1100)] 
fdr_compile: remove dead var

8 years agorose: don't accel noodle engines
Justin Viiret [Mon, 9 Jan 2017 23:07:12 +0000 (10:07 +1100)] 
rose: don't accel noodle engines

8 years agorose: give longer literals to accel analysis
Justin Viiret [Thu, 22 Dec 2016 05:33:14 +0000 (16:33 +1100)] 
rose: give longer literals to accel analysis

8 years agohwlm: move accel from hwlm build to rose
Justin Viiret [Wed, 30 Nov 2016 05:55:52 +0000 (16:55 +1100)] 
hwlm: move accel from hwlm build to rose

8 years agofdr: rely on fixed size confirm structures
Justin Viiret [Tue, 20 Dec 2016 04:10:47 +0000 (15:10 +1100)] 
fdr: rely on fixed size confirm structures

8 years agofdr: simplify confirm for 8-byte fragments
Justin Viiret [Tue, 20 Dec 2016 04:05:28 +0000 (15:05 +1100)] 
fdr: simplify confirm for 8-byte fragments

8 years agorose: add more program dump code
Justin Viiret [Wed, 14 Dec 2016 00:58:01 +0000 (11:58 +1100)] 
rose: add more program dump code

8 years agorose: group final ids by fragment
Justin Viiret [Mon, 12 Dec 2016 06:08:06 +0000 (17:08 +1100)] 
rose: group final ids by fragment

8 years agorose/hwlm: limit literals to eight bytes
Justin Viiret [Mon, 28 Nov 2016 05:46:03 +0000 (16:46 +1100)] 
rose/hwlm: limit literals to eight bytes

Rework HWLM to work over literals of eight bytes ("medium length"),
doing confirm in the Rose interpreter.

8 years agorose: fix up comments referring to CHECK_LITERAL
Justin Viiret [Mon, 28 Nov 2016 22:27:59 +0000 (09:27 +1100)] 
rose: fix up comments referring to CHECK_LITERAL

This instruction is now called CHECK_LONG_LIT.

8 years agorose: mark RoseInstrCheckLongLit ctor explit
Justin Viiret [Mon, 28 Nov 2016 22:25:43 +0000 (09:25 +1100)] 
rose: mark RoseInstrCheckLongLit ctor explit

8 years agorose: remove no-longer-used convertBadLeaves pass
Justin Viiret [Fri, 20 Jan 2017 02:23:52 +0000 (13:23 +1100)] 
rose: remove no-longer-used convertBadLeaves pass

8 years agoWork around for deficiency in C++11/14/17 standard
Matthew Barr [Sun, 8 Jan 2017 22:30:03 +0000 (09:30 +1100)] 
Work around for deficiency in C++11/14/17 standard

As explained to us by STL at Microsoft (the author of their
vector), there is a hole in the standard wrt the vector copy
constructor, which always exists even if it won't compile.

8 years agodump: render literals as regexes (with comments)
Justin Viiret [Mon, 9 Jan 2017 00:05:02 +0000 (11:05 +1100)] 
dump: render literals as regexes (with comments)

8 years agofdr: compile algo/heuristics improvements
Justin Viiret [Tue, 6 Dec 2016 04:56:27 +0000 (15:56 +1100)] 
fdr: compile algo/heuristics improvements

These changes fix a small bug in the algorithm used for bucket
assignment in FDR's compile process, and also tweak a few of the
heuristics governing it.

8 years agoChange sqlite3_errstr to sqlite3_errmsg
EaseTheWorld [Wed, 25 Jan 2017 23:42:53 +0000 (08:42 +0900)] 
Change sqlite3_errstr to sqlite3_errmsg

sqlite3_errstr was introduced in 3.7.15 (http://sqlite.org/changes.html)
which breaks build in redhat6 (sqlite3 ver 3.6.X)
and in line 77, sqlite3_errmsg is already used.

8 years agoMerge branch 'master' into develop
Matthew Barr [Wed, 26 Apr 2017 04:14:28 +0000 (14:14 +1000)] 
Merge branch 'master' into develop

8 years agoMerge branch 'release-4.4' into github_master v4.4.1
Matthew Barr [Wed, 1 Mar 2017 02:09:48 +0000 (13:09 +1100)] 
Merge branch 'release-4.4' into github_master

8 years agoBump version number for release
Matthew Barr [Tue, 28 Feb 2017 02:18:25 +0000 (13:18 +1100)] 
Bump version number for release

8 years agochangelog: updates for 4.4.1
Matthew Barr [Tue, 28 Feb 2017 02:18:09 +0000 (13:18 +1100)] 
changelog: updates for 4.4.1

8 years agoruntime: init more of scratch in pure-literal exec
Justin Viiret [Mon, 27 Feb 2017 22:38:57 +0000 (09:38 +1100)] 
runtime: init more of scratch in pure-literal exec

8 years agolbr: set lastEscape on expand
Alex Coyte [Mon, 27 Feb 2017 05:46:24 +0000 (16:46 +1100)] 
lbr: set lastEscape on expand

8 years agoCheck if any tugs are alive when compressing/expanding repeats
Alex Coyte [Mon, 27 Feb 2017 03:22:35 +0000 (14:22 +1100)] 
Check if any tugs are alive when compressing/expanding repeats

8 years agobasic unit test to check correct stream state is being used.
Alex Coyte [Sun, 26 Feb 2017 23:33:49 +0000 (10:33 +1100)] 
basic unit test to check correct stream state is being used.

8 years agoEnsure the queue structure is initialised in roseEnginesEod().
Alex Coyte [Fri, 24 Feb 2017 04:40:39 +0000 (15:40 +1100)] 
Ensure the queue structure is initialised in roseEnginesEod().

8 years agoMerge branch develop into master v4.4.0
Matthew Barr [Fri, 20 Jan 2017 03:16:41 +0000 (14:16 +1100)] 
Merge branch develop into master

8 years agoBump version number for release
Matthew Barr [Fri, 20 Jan 2017 02:59:51 +0000 (13:59 +1100)] 
Bump version number for release

8 years agochangelog: updates for 4.4 release
Justin Viiret [Mon, 9 Jan 2017 23:31:09 +0000 (10:31 +1100)] 
changelog: updates for 4.4 release

8 years agoDocumentation updates for the fat runtime
Matthew Barr [Fri, 20 Jan 2017 02:42:26 +0000 (13:42 +1100)] 
Documentation updates for the fat runtime

8 years agocmake: test reverse_graph instead of using version
Matthew Barr [Wed, 18 Jan 2017 04:16:18 +0000 (15:16 +1100)] 
cmake: test reverse_graph instead of using version

It seems that some distros are using a patched Boost 1.62.0 which means our
workaround in reverse_graph has a conflict. Add a CMake test to see if we
need to use the patched reverse_graph.

8 years agoprefilter: workaround for \b in UCP and !UTF8 mode
Justin Viiret [Wed, 18 Jan 2017 00:33:57 +0000 (11:33 +1100)] 
prefilter: workaround for \b in UCP and !UTF8 mode

For now, just drop the assertion (which will still return a superset of
matches, as per prefiltering semantics).

8 years agowe can only trim lookarounds based on information common to all literals
Alex Coyte [Sun, 15 Jan 2017 23:14:41 +0000 (10:14 +1100)] 
we can only trim lookarounds based on information common to all literals

8 years agoensure that we add default top when creating a new infix graph
Alex Coyte [Sun, 15 Jan 2017 23:58:31 +0000 (10:58 +1100)] 
ensure that we add default top when creating a new infix graph

8 years agoBoost 1.61 required for clang/libc++
Matthew Barr [Thu, 12 Jan 2017 23:23:00 +0000 (10:23 +1100)] 
Boost 1.61 required for clang/libc++

The libc++ headers aren't specific enough and causes the compiler to think
there are ambiguous functions when using older Boost versions.

8 years agoSilence ABI notes in release builds
Matthew Barr [Thu, 12 Jan 2017 23:14:23 +0000 (10:14 +1100)] 
Silence ABI notes in release builds

8 years agoupdate copyright year
Matthew Barr [Mon, 9 Jan 2017 00:35:03 +0000 (11:35 +1100)] 
update copyright year

8 years agoMSVC gets confused by one line of the graph tests
Matthew Barr [Thu, 5 Jan 2017 04:12:56 +0000 (15:12 +1100)] 
MSVC gets confused by one line of the graph tests

8 years agoMSVC requires the attribute before the type
Matthew Barr [Thu, 5 Jan 2017 04:12:43 +0000 (15:12 +1100)] 
MSVC requires the attribute before the type

8 years agomcclellan: handle 0 length block scans correctly
Alex Coyte [Tue, 3 Jan 2017 01:57:10 +0000 (12:57 +1100)] 
mcclellan: handle 0 length block scans correctly

8 years agoAdd explicit casts to succ table entry calculations.
Alex Coyte [Mon, 19 Dec 2016 01:42:34 +0000 (12:42 +1100)] 
Add explicit casts to succ table entry calculations.

Although overflow should not be possible given the range of alphaShift, this
resolves coverity scan issues CID 158536 and CID 158537.

8 years agohyperscan#41: ignore carriage-return in pattern files
Matthew Barr [Wed, 23 Nov 2016 00:07:10 +0000 (11:07 +1100)] 
hyperscan#41: ignore carriage-return in pattern files

8 years agocmake: check the generator for fat runtime builds
Matthew Barr [Wed, 14 Dec 2016 04:15:37 +0000 (15:15 +1100)] 
cmake: check the generator for fat runtime builds

The RULE_LAUNCH_COMPILE property only works for Unix Makefiles, or
for Ninja with CMake newer than v3.0.

8 years agoSSE2 preprocessor test for MSVC
Matthew Barr [Mon, 12 Dec 2016 23:01:16 +0000 (10:01 +1100)] 
SSE2 preprocessor test for MSVC

MSVC doesn't define __SSE2__ but we can figure it out from
other macros.

8 years agoMark dispatch functions as public API
Matthew Barr [Mon, 12 Dec 2016 22:03:36 +0000 (09:03 +1100)] 
Mark dispatch functions as public API

8 years agocmake: check clang version for fat runtime support
Matthew Barr [Mon, 12 Dec 2016 05:42:32 +0000 (16:42 +1100)] 
cmake: check clang version for fat runtime support

8 years agocmake: combine hs_exec src lists correctly
Matthew Barr [Mon, 12 Dec 2016 05:37:38 +0000 (16:37 +1100)] 
cmake: combine hs_exec src lists correctly