]> git.ipfire.org Git - thirdparty/vectorscan.git/log
thirdparty/vectorscan.git
8 years agorose: move dkey info to engine blob
Justin Viiret [Tue, 28 Feb 2017 02:46:07 +0000 (13:46 +1100)] 
rose: move dkey info to engine blob

8 years agorose: move lookaround tables to engine blob
Justin Viiret [Tue, 28 Feb 2017 00:18:23 +0000 (11:18 +1100)] 
rose: move lookaround tables to engine blob

8 years agorose: move active leftfix iter to engine blob
Justin Viiret [Mon, 27 Feb 2017 05:55:02 +0000 (16:55 +1100)] 
rose: move active leftfix iter to engine blob

8 years agorose: move SOM reverse NFAs to engine_blob
Justin Viiret [Mon, 27 Feb 2017 05:33:43 +0000 (16:33 +1100)] 
rose: move SOM reverse NFAs to engine_blob

8 years agorose: build RoseEngine prototype for bytecode
Justin Viiret [Thu, 23 Feb 2017 05:36:28 +0000 (16:36 +1100)] 
rose: build RoseEngine prototype for bytecode

Rather than tracking a great many offsets in u32 variables, build them
in a RoseEngine prototype.

8 years agoFDR: front end loop improvement
Wang, Xiang W [Mon, 23 Jan 2017 22:15:40 +0000 (17:15 -0500)] 
FDR: front end loop improvement

8 years agorose: create new ProgramBuild struct
Justin Viiret [Thu, 23 Feb 2017 00:43:49 +0000 (11:43 +1100)] 
rose: create new ProgramBuild struct

8 years agorose: make buildLiteralProgram take one lit_id
Justin Viiret [Wed, 22 Feb 2017 22:52:52 +0000 (09:52 +1100)] 
rose: make buildLiteralProgram take one lit_id

8 years agorose: don't assign fragments for event lits
Justin Viiret [Wed, 22 Feb 2017 22:29:11 +0000 (09:29 +1100)] 
rose: don't assign fragments for event lits

8 years agorose: remove final_id
Justin Viiret [Wed, 22 Feb 2017 05:01:40 +0000 (16:01 +1100)] 
rose: remove final_id

8 years agorose: new program construction code
Justin Viiret [Wed, 22 Feb 2017 03:48:23 +0000 (14:48 +1100)] 
rose: new program construction code

8 years agorose_build_bytecode: clean up findEdgesByLiteral()
Justin Viiret [Wed, 22 Feb 2017 01:46:52 +0000 (12:46 +1100)] 
rose_build_bytecode: clean up findEdgesByLiteral()

8 years agorose_build_bytecode: less final_id
Justin Viiret [Tue, 21 Feb 2017 23:56:26 +0000 (10:56 +1100)] 
rose_build_bytecode: less final_id

8 years agorose: eliminate global final to fragment map
Justin Viiret [Tue, 21 Feb 2017 23:28:40 +0000 (10:28 +1100)] 
rose: eliminate global final to fragment map

8 years agorose dump: simplify
Justin Viiret [Tue, 21 Feb 2017 23:19:56 +0000 (10:19 +1100)] 
rose dump: simplify

8 years agorose: tidy
Justin Viiret [Tue, 21 Feb 2017 23:12:56 +0000 (10:12 +1100)] 
rose: tidy

8 years agorose_build_matchers: simplify literal build
Justin Viiret [Tue, 21 Feb 2017 22:53:09 +0000 (09:53 +1100)] 
rose_build_matchers: simplify literal build

8 years agorose: dump support for delay programs
Justin Viiret [Thu, 16 Feb 2017 04:39:11 +0000 (15:39 +1100)] 
rose: dump support for delay programs

8 years agocontainer: allow sort_and_unique to have a comparator
Justin Viiret [Thu, 16 Feb 2017 00:03:05 +0000 (11:03 +1100)] 
container: allow sort_and_unique to have a comparator

8 years agorose: reorganise delay program generation
Justin Viiret [Wed, 15 Feb 2017 23:47:24 +0000 (10:47 +1100)] 
rose: reorganise delay program generation

8 years agorose: dedupe anch programs and RECORD_ANCHOREDs
Justin Viiret [Wed, 15 Feb 2017 22:19:44 +0000 (09:19 +1100)] 
rose: dedupe anch programs and RECORD_ANCHOREDs

8 years agorose: don't emit RECORD_ANCHORED in anchored progs
Justin Viiret [Wed, 15 Feb 2017 03:03:30 +0000 (14:03 +1100)] 
rose: don't emit RECORD_ANCHORED in anchored progs

8 years agorose: rearrange anchored program generation
Justin Viiret [Wed, 15 Feb 2017 02:54:09 +0000 (13:54 +1100)] 
rose: rearrange anchored program generation

8 years agorose: reduce delay program dep on final_id
Justin Viiret [Tue, 14 Feb 2017 00:11:10 +0000 (11:11 +1100)] 
rose: reduce delay program dep on final_id

8 years agorose: remove now-unused anchored_base_id
Justin Viiret [Mon, 13 Feb 2017 23:23:53 +0000 (10:23 +1100)] 
rose: remove now-unused anchored_base_id

8 years agorose: reduce anchored program dep on final_id
Justin Viiret [Mon, 13 Feb 2017 23:19:25 +0000 (10:19 +1100)] 
rose: reduce anchored program dep on final_id

We only need to build anchored programs for cases where a
RECORD_ANCHORED instruction has been generated, and we can key those
directly rather than using final_id.

8 years agorose: build fragments directly
Justin Viiret [Mon, 13 Feb 2017 22:14:58 +0000 (09:14 +1100)] 
rose: build fragments directly

8 years agorose: use fragment ids earlier for anchored dfas
Justin Viiret [Mon, 13 Feb 2017 05:41:08 +0000 (16:41 +1100)] 
rose: use fragment ids earlier for anchored dfas

8 years agorose: write fragment ids into literal_info
Justin Viiret [Mon, 13 Feb 2017 04:54:16 +0000 (15:54 +1100)] 
rose: write fragment ids into literal_info

8 years agorose_build_impl: fix header guard
Justin Viiret [Mon, 13 Feb 2017 04:38:05 +0000 (15:38 +1100)] 
rose_build_impl: fix header guard

8 years agorose_build_anchored: tbi->build
Justin Viiret [Mon, 13 Feb 2017 04:35:38 +0000 (15:35 +1100)] 
rose_build_anchored: tbi->build

8 years agodeterminisation: use unordered_map to hold state set -> id mapping
Alex Coyte [Mon, 13 Feb 2017 22:56:43 +0000 (09:56 +1100)] 
determinisation: use unordered_map to hold state set -> id mapping

8 years agofdr: add grey box control for flood detection
Justin Viiret [Fri, 10 Feb 2017 02:04:22 +0000 (13:04 +1100)] 
fdr: add grey box control for flood detection

8 years agoClear upper half of AVX register before libm call
Matthew Barr [Fri, 10 Feb 2017 00:29:42 +0000 (11:29 +1100)] 
Clear upper half of AVX register before libm call

Clearing the upper half of the AVX register is required before calling SSE
code to avoid AVX-to-SSE transition penalties.

8 years agoparser: handle "control verbs" without close paren
Justin Viiret [Fri, 3 Feb 2017 00:39:06 +0000 (11:39 +1100)] 
parser: handle "control verbs" without close paren

8 years agoparser: check for std::out_of_range from stoul
Justin Viiret [Fri, 3 Feb 2017 00:17:47 +0000 (11:17 +1100)] 
parser: check for std::out_of_range from stoul

8 years agorose: only dump delay rebuild table if streaming
Justin Viiret [Thu, 2 Feb 2017 22:40:00 +0000 (09:40 +1100)] 
rose: only dump delay rebuild table if streaming

8 years agoparser: use control_verb parser inline
Justin Viiret [Thu, 2 Feb 2017 04:49:26 +0000 (15:49 +1100)] 
parser: use control_verb parser inline

8 years agoparser: use stoul(), not strtol()
Justin Viiret [Thu, 2 Feb 2017 04:01:30 +0000 (15:01 +1100)] 
parser: use stoul(), not strtol()

8 years agoparser: switch to using char* pointers
Justin Viiret [Thu, 2 Feb 2017 02:56:30 +0000 (13:56 +1100)] 
parser: switch to using char* pointers

8 years agoparser: add initial parser for control verbs
Justin Viiret [Thu, 12 Jan 2017 01:35:54 +0000 (12:35 +1100)] 
parser: add initial parser for control verbs

This more reliably handles control verbs like (*UTF8) that can only
happen at the start of the pattern, and allows them in any ordering.

8 years agorose: delete dead code for cloneVertex
Justin Viiret [Wed, 1 Feb 2017 23:35:40 +0000 (10:35 +1100)] 
rose: delete dead code for cloneVertex

8 years agong_literal_analysis: refactor splitOffLeadingLiteral
Justin Viiret [Wed, 1 Feb 2017 23:33:20 +0000 (10:33 +1100)] 
ng_literal_analysis: refactor splitOffLeadingLiteral

8 years agodead code: remove splitOffAnchoredLeadingLiteral
Justin Viiret [Wed, 1 Feb 2017 23:26:11 +0000 (10:26 +1100)] 
dead code: remove splitOffAnchoredLeadingLiteral

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