]>
git.ipfire.org Git - thirdparty/vectorscan.git/log
Justin Viiret [Tue, 28 Feb 2017 02:46:07 +0000 (13:46 +1100)]
rose: move dkey info to engine blob
Justin Viiret [Tue, 28 Feb 2017 00:18:23 +0000 (11:18 +1100)]
rose: move lookaround tables to engine blob
Justin Viiret [Mon, 27 Feb 2017 05:55:02 +0000 (16:55 +1100)]
rose: move active leftfix iter to engine blob
Justin Viiret [Mon, 27 Feb 2017 05:33:43 +0000 (16:33 +1100)]
rose: move SOM reverse NFAs to engine_blob
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.
Wang, Xiang W [Mon, 23 Jan 2017 22:15:40 +0000 (17:15 -0500)]
FDR: front end loop improvement
Justin Viiret [Thu, 23 Feb 2017 00:43:49 +0000 (11:43 +1100)]
rose: create new ProgramBuild struct
Justin Viiret [Wed, 22 Feb 2017 22:52:52 +0000 (09:52 +1100)]
rose: make buildLiteralProgram take one lit_id
Justin Viiret [Wed, 22 Feb 2017 22:29:11 +0000 (09:29 +1100)]
rose: don't assign fragments for event lits
Justin Viiret [Wed, 22 Feb 2017 05:01:40 +0000 (16:01 +1100)]
rose: remove final_id
Justin Viiret [Wed, 22 Feb 2017 03:48:23 +0000 (14:48 +1100)]
rose: new program construction code
Justin Viiret [Wed, 22 Feb 2017 01:46:52 +0000 (12:46 +1100)]
rose_build_bytecode: clean up findEdgesByLiteral()
Justin Viiret [Tue, 21 Feb 2017 23:56:26 +0000 (10:56 +1100)]
rose_build_bytecode: less final_id
Justin Viiret [Tue, 21 Feb 2017 23:28:40 +0000 (10:28 +1100)]
rose: eliminate global final to fragment map
Justin Viiret [Tue, 21 Feb 2017 23:19:56 +0000 (10:19 +1100)]
rose dump: simplify
Justin Viiret [Tue, 21 Feb 2017 23:12:56 +0000 (10:12 +1100)]
rose: tidy
Justin Viiret [Tue, 21 Feb 2017 22:53:09 +0000 (09:53 +1100)]
rose_build_matchers: simplify literal build
Justin Viiret [Thu, 16 Feb 2017 04:39:11 +0000 (15:39 +1100)]
rose: dump support for delay programs
Justin Viiret [Thu, 16 Feb 2017 00:03:05 +0000 (11:03 +1100)]
container: allow sort_and_unique to have a comparator
Justin Viiret [Wed, 15 Feb 2017 23:47:24 +0000 (10:47 +1100)]
rose: reorganise delay program generation
Justin Viiret [Wed, 15 Feb 2017 22:19:44 +0000 (09:19 +1100)]
rose: dedupe anch programs and RECORD_ANCHOREDs
Justin Viiret [Wed, 15 Feb 2017 03:03:30 +0000 (14:03 +1100)]
rose: don't emit RECORD_ANCHORED in anchored progs
Justin Viiret [Wed, 15 Feb 2017 02:54:09 +0000 (13:54 +1100)]
rose: rearrange anchored program generation
Justin Viiret [Tue, 14 Feb 2017 00:11:10 +0000 (11:11 +1100)]
rose: reduce delay program dep on final_id
Justin Viiret [Mon, 13 Feb 2017 23:23:53 +0000 (10:23 +1100)]
rose: remove now-unused anchored_base_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.
Justin Viiret [Mon, 13 Feb 2017 22:14:58 +0000 (09:14 +1100)]
rose: build fragments directly
Justin Viiret [Mon, 13 Feb 2017 05:41:08 +0000 (16:41 +1100)]
rose: use fragment ids earlier for anchored dfas
Justin Viiret [Mon, 13 Feb 2017 04:54:16 +0000 (15:54 +1100)]
rose: write fragment ids into literal_info
Justin Viiret [Mon, 13 Feb 2017 04:38:05 +0000 (15:38 +1100)]
rose_build_impl: fix header guard
Justin Viiret [Mon, 13 Feb 2017 04:35:38 +0000 (15:35 +1100)]
rose_build_anchored: tbi->build
Alex Coyte [Mon, 13 Feb 2017 22:56:43 +0000 (09:56 +1100)]
determinisation: use unordered_map to hold state set -> id mapping
Justin Viiret [Fri, 10 Feb 2017 02:04:22 +0000 (13:04 +1100)]
fdr: add grey box control for flood detection
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.
Justin Viiret [Fri, 3 Feb 2017 00:39:06 +0000 (11:39 +1100)]
parser: handle "control verbs" without close paren
Justin Viiret [Fri, 3 Feb 2017 00:17:47 +0000 (11:17 +1100)]
parser: check for std::out_of_range from stoul
Justin Viiret [Thu, 2 Feb 2017 22:40:00 +0000 (09:40 +1100)]
rose: only dump delay rebuild table if streaming
Justin Viiret [Thu, 2 Feb 2017 04:49:26 +0000 (15:49 +1100)]
parser: use control_verb parser inline
Justin Viiret [Thu, 2 Feb 2017 04:01:30 +0000 (15:01 +1100)]
parser: use stoul(), not strtol()
Justin Viiret [Thu, 2 Feb 2017 02:56:30 +0000 (13:56 +1100)]
parser: switch to using char* pointers
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.
Justin Viiret [Wed, 1 Feb 2017 23:35:40 +0000 (10:35 +1100)]
rose: delete dead code for cloneVertex
Justin Viiret [Wed, 1 Feb 2017 23:33:20 +0000 (10:33 +1100)]
ng_literal_analysis: refactor splitOffLeadingLiteral
Justin Viiret [Wed, 1 Feb 2017 23:26:11 +0000 (10:26 +1100)]
dead code: remove splitOffAnchoredLeadingLiteral
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