]>
git.ipfire.org Git - thirdparty/vectorscan.git/log
Justin Viiret [Wed, 1 Feb 2017 03:47:05 +0000 (14:47 +1100)]
lookaround: reduce compile time for trimLiterals
Justin Viiret [Tue, 31 Jan 2017 23:50:44 +0000 (10:50 +1100)]
safety assertions for delayed rebuild
Justin Viiret [Tue, 31 Jan 2017 23:41:32 +0000 (10:41 +1100)]
rose: define invalid value for program offset
Justin Viiret [Tue, 31 Jan 2017 23:37:15 +0000 (10:37 +1100)]
assert program offsets are non-zero
Justin Viiret [Tue, 31 Jan 2017 03:28:56 +0000 (14:28 +1100)]
rose: use final_ids less in program construction
Justin Viiret [Tue, 31 Jan 2017 02:11:04 +0000 (13:11 +1100)]
move final_id_to_literal into build_context
Justin Viiret [Tue, 31 Jan 2017 01:49:43 +0000 (12:49 +1100)]
rose: do fragment group assignment earlier
Justin Viiret [Tue, 31 Jan 2017 01:25:11 +0000 (12:25 +1100)]
rose: make groupByFragment local
Justin Viiret [Tue, 31 Jan 2017 00:31:17 +0000 (11:31 +1100)]
rose: delete RoseEngine::literalCount
Justin Viiret [Tue, 31 Jan 2017 00:14:51 +0000 (11:14 +1100)]
remove lit program tables from bytecode
Justin Viiret [Tue, 31 Jan 2017 00:10:30 +0000 (11:10 +1100)]
rose: dump lit programs from frag map
Justin Viiret [Mon, 30 Jan 2017 23:57:09 +0000 (10:57 +1100)]
rose: merge all dump code into rose_build_dump.cpp
Justin Viiret [Mon, 30 Jan 2017 23:28:10 +0000 (10:28 +1100)]
tidy up args to builders
Justin Viiret [Mon, 30 Jan 2017 23:22:23 +0000 (10:22 +1100)]
move final_to_frag_map into RoseBuildImpl (for dump code)
Justin Viiret [Mon, 30 Jan 2017 22:53:16 +0000 (09:53 +1100)]
stream: simplify do_rebuild call site
Justin Viiret [Sun, 29 Jan 2017 22:14:03 +0000 (09:14 +1100)]
rose: use program offsets directly in lit tables
Justin Viiret [Wed, 25 Jan 2017 03:45:12 +0000 (14:45 +1100)]
rose: build a separate delay rebuild matcher
Justin Viiret [Wed, 1 Feb 2017 02:08:20 +0000 (13:08 +1100)]
role aliasing: bail if new graph is not implementable
Justin Viiret [Wed, 25 Jan 2017 00:29:45 +0000 (11:29 +1100)]
violet: use bitset to speed up poisonFromSuccessor
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.
Alex Coyte [Mon, 30 Jan 2017 22:09:57 +0000 (09:09 +1100)]
make expected too large patterns even larger
Alex Coyte [Thu, 12 Jan 2017 02:33:34 +0000 (13:33 +1100)]
violet: heuristic tweaks for ensuring implementablity
Alex Coyte [Thu, 5 Jan 2017 01:35:32 +0000 (12:35 +1100)]
remove ng_rose
Alex Coyte [Thu, 5 Jan 2017 00:37:34 +0000 (11:37 +1100)]
add checkViolet and switch SOM path accross to use violet
Alex Coyte [Wed, 4 Jan 2017 02:15:30 +0000 (13:15 +1100)]
violet: decompose further for implementability
Alex Coyte [Thu, 5 Jan 2017 22:12:22 +0000 (09:12 +1100)]
tidy
Alex Coyte [Wed, 4 Jan 2017 23:50:59 +0000 (10:50 +1100)]
remove util functions from ng_rose.
Alex Coyte [Wed, 4 Jan 2017 00:41:59 +0000 (11:41 +1100)]
refactor restoreTrailingLiteral use
Alex Coyte [Thu, 8 Dec 2016 03:05:44 +0000 (14:05 +1100)]
shift all early_dfa creation logic to ng_violet/ng_rose
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
Alex Coyte [Thu, 1 Dec 2016 05:10:34 +0000 (16:10 +1100)]
shift early_dfa construction earlier
Alex Coyte [Mon, 16 Jan 2017 23:23:23 +0000 (10:23 +1100)]
add information on the runtime impl to rose.txt
Alex Coyte [Mon, 30 Jan 2017 05:06:48 +0000 (16:06 +1100)]
remove 'fast teddy' models
Justin Viiret [Wed, 25 Jan 2017 00:49:53 +0000 (11:49 +1100)]
fdr: remove dead code to do with link structures
Matthew Barr [Tue, 24 Jan 2017 23:48:23 +0000 (10:48 +1100)]
PCRE version updated to 8.40
Justin Viiret [Wed, 14 Dec 2016 06:13:49 +0000 (17:13 +1100)]
rose: delete literal_info requires_explode flag
Justin Viiret [Wed, 14 Dec 2016 05:16:59 +0000 (16:16 +1100)]
rose: explode mixed-case literals early
Wang, Xiang W [Thu, 15 Dec 2016 02:38:03 +0000 (21:38 -0500)]
fdr: remove confirm split and pull-back
Justin Viiret [Mon, 23 Jan 2017 04:00:22 +0000 (15:00 +1100)]
flat_set/map: make erase() take const_iterator
Justin Viiret [Fri, 20 Jan 2017 05:20:22 +0000 (16:20 +1100)]
flat_base: move swap()
Justin Viiret [Fri, 20 Jan 2017 05:17:48 +0000 (16:17 +1100)]
flat_base: take more common operations
Justin Viiret [Fri, 20 Jan 2017 05:12:59 +0000 (16:12 +1100)]
flat_base: take more common operations
Justin Viiret [Fri, 20 Jan 2017 05:06:06 +0000 (16:06 +1100)]
flat_set: move comp/data helpers to base
Justin Viiret [Fri, 20 Jan 2017 04:52:55 +0000 (15:52 +1100)]
flat_set/map: use boost::totally_ordered
Justin Viiret [Fri, 20 Jan 2017 04:45:47 +0000 (15:45 +1100)]
flat_map: add value_comp()
Justin Viiret [Tue, 17 Jan 2017 03:31:21 +0000 (14:31 +1100)]
flat_set/map: add hash_value tests
Justin Viiret [Tue, 17 Jan 2017 03:22:21 +0000 (14:22 +1100)]
flat_map: small doc fix
Justin Viiret [Thu, 22 Dec 2016 02:37:00 +0000 (13:37 +1100)]
flat_set/map: back with small_vector
Justin Viiret [Fri, 2 Dec 2016 05:40:06 +0000 (16:40 +1100)]
flat_set: cheesy tuple-based ebo
Justin Viiret [Mon, 5 Dec 2016 01:39:25 +0000 (12:39 +1100)]
flat_set: modernize iter_wrapper ctors
Justin Viiret [Mon, 23 Jan 2017 23:01:59 +0000 (10:01 +1100)]
rose: do not combine fragments which squash groups
Justin Viiret [Mon, 23 Jan 2017 22:41:07 +0000 (09:41 +1100)]
filterLits: better debug output
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.
Justin Viiret [Mon, 23 Jan 2017 05:20:09 +0000 (16:20 +1100)]
fdr: remove clamp on confirm size
Justin Viiret [Mon, 23 Jan 2017 04:10:55 +0000 (15:10 +1100)]
fdr_compile: remove dead var
Justin Viiret [Mon, 9 Jan 2017 23:07:12 +0000 (10:07 +1100)]
rose: don't accel noodle engines
Justin Viiret [Thu, 22 Dec 2016 05:33:14 +0000 (16:33 +1100)]
rose: give longer literals to accel analysis
Justin Viiret [Wed, 30 Nov 2016 05:55:52 +0000 (16:55 +1100)]
hwlm: move accel from hwlm build to rose
Justin Viiret [Tue, 20 Dec 2016 04:10:47 +0000 (15:10 +1100)]
fdr: rely on fixed size confirm structures
Justin Viiret [Tue, 20 Dec 2016 04:05:28 +0000 (15:05 +1100)]
fdr: simplify confirm for 8-byte fragments
Justin Viiret [Wed, 14 Dec 2016 00:58:01 +0000 (11:58 +1100)]
rose: add more program dump code
Justin Viiret [Mon, 12 Dec 2016 06:08:06 +0000 (17:08 +1100)]
rose: group final ids by fragment
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.
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.
Justin Viiret [Mon, 28 Nov 2016 22:25:43 +0000 (09:25 +1100)]
rose: mark RoseInstrCheckLongLit ctor explit
Justin Viiret [Fri, 20 Jan 2017 02:23:52 +0000 (13:23 +1100)]
rose: remove no-longer-used convertBadLeaves pass
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.
Justin Viiret [Mon, 9 Jan 2017 00:05:02 +0000 (11:05 +1100)]
dump: render literals as regexes (with comments)
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.
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.
Matthew Barr [Wed, 26 Apr 2017 04:14:28 +0000 (14:14 +1000)]
Merge branch 'master' into develop
Matthew Barr [Wed, 1 Mar 2017 02:09:48 +0000 (13:09 +1100)]
Merge branch 'release-4.4' into github_master
Matthew Barr [Tue, 28 Feb 2017 02:18:25 +0000 (13:18 +1100)]
Bump version number for release
Matthew Barr [Tue, 28 Feb 2017 02:18:09 +0000 (13:18 +1100)]
changelog: updates for 4.4.1
Justin Viiret [Mon, 27 Feb 2017 22:38:57 +0000 (09:38 +1100)]
runtime: init more of scratch in pure-literal exec
Alex Coyte [Mon, 27 Feb 2017 05:46:24 +0000 (16:46 +1100)]
lbr: set lastEscape on expand
Alex Coyte [Mon, 27 Feb 2017 03:22:35 +0000 (14:22 +1100)]
Check if any tugs are alive when compressing/expanding repeats
Alex Coyte [Sun, 26 Feb 2017 23:33:49 +0000 (10:33 +1100)]
basic unit test to check correct stream state is being used.
Alex Coyte [Fri, 24 Feb 2017 04:40:39 +0000 (15:40 +1100)]
Ensure the queue structure is initialised in roseEnginesEod().
Matthew Barr [Fri, 20 Jan 2017 03:16:41 +0000 (14:16 +1100)]
Merge branch develop into master
Matthew Barr [Fri, 20 Jan 2017 02:59:51 +0000 (13:59 +1100)]
Bump version number for release
Justin Viiret [Mon, 9 Jan 2017 23:31:09 +0000 (10:31 +1100)]
changelog: updates for 4.4 release
Matthew Barr [Fri, 20 Jan 2017 02:42:26 +0000 (13:42 +1100)]
Documentation updates for the fat runtime
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.
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).
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
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
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.
Matthew Barr [Thu, 12 Jan 2017 23:14:23 +0000 (10:14 +1100)]
Silence ABI notes in release builds
Matthew Barr [Mon, 9 Jan 2017 00:35:03 +0000 (11:35 +1100)]
update copyright year
Matthew Barr [Thu, 5 Jan 2017 04:12:56 +0000 (15:12 +1100)]
MSVC gets confused by one line of the graph tests
Matthew Barr [Thu, 5 Jan 2017 04:12:43 +0000 (15:12 +1100)]
MSVC requires the attribute before the type
Alex Coyte [Tue, 3 Jan 2017 01:57:10 +0000 (12:57 +1100)]
mcclellan: handle 0 length block scans correctly
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.
Matthew Barr [Wed, 23 Nov 2016 00:07:10 +0000 (11:07 +1100)]
hyperscan#41: ignore carriage-return in pattern files
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.
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.
Matthew Barr [Mon, 12 Dec 2016 22:03:36 +0000 (09:03 +1100)]
Mark dispatch functions as public API
Matthew Barr [Mon, 12 Dec 2016 05:42:32 +0000 (16:42 +1100)]
cmake: check clang version for fat runtime support
Matthew Barr [Mon, 12 Dec 2016 05:37:38 +0000 (16:37 +1100)]
cmake: combine hs_exec src lists correctly