Wang Xiang W
7c4490cfc9
smallwrite: add report dedupe check
2020-05-25 13:46:57 +00:00
Hong, Yang A
23e5f06594
add new Literal API for pure literal expressions:
...
Design compile time api hs_compile_lit() and hs_compile_lit_multi()
to handle pure literal pattern sets. Corresponding option --literal-on
is added for hyperscan testing suites. Extended parameters and part of
flags are not supported for this api.
2019-08-13 14:51:38 +08:00
Chang, Harry
64ea43ea39
Logical Combination: avoid corruption of pending combination report
...
in streaming mode.
Fixes github issue #165
2019-08-13 14:50:16 +08:00
Chang, Harry
1f4c10a58d
Logical combination: support EOD match from purely negative case.
2019-08-13 14:50:07 +08:00
Hong, Yang A
bc37072d5b
Rose: add necessary instruction programs to avoid dead loop
...
Fixes github issue #141
2019-04-10 06:53:03 -04:00
Wang, Xiang W
6dc9bed310
Rose: add handling for unexpected programs
2019-03-26 10:16:26 -04:00
Hong, Yang A
f68723a606
literal matching: separate path for pure literal patterns
2019-01-21 09:59:22 +08:00
Chang, Harry
9ab674b18e
fix dead loop under win10 release bin.
2019-01-21 09:58:55 +08:00
Wang, Xiang W
ff9636e022
rose: disable switch optimization for windows
2019-01-21 09:58:38 +08:00
Wang, Xiang W
6f3a0a323e
Silence clang warnings about unused variable
2019-01-21 09:57:17 +08:00
Guangqing Chen
922fe2ab20
Rose: optimize switch-case with Labels-as-Values
2019-01-21 09:56:58 +08:00
Lu, Qi
5a0885d235
Windows porting: port hyperscan and chimera tools to windows.
2018-07-09 11:40:43 -04:00
Chang, Harry
8a1c497f44
Logical Combination of patterns.
2018-06-27 14:04:57 +08:00
Justin Viiret
ce7cfbde82
misc: docs, typo fixes, small cleanups
2018-06-27 13:39:05 +08:00
Justin Viiret
ea9d1f69fb
rose_build_add: remove unused max_adj param
...
In prepAcceptForAddAnchoredNFA(), we used to support different values
for max_adj. Since it's now always zero, remove it.
2018-06-27 13:39:00 +08:00
Matthew Barr
dd286323a9
Don't let haigs into Tamarama
2017-09-18 13:29:34 +10:00
Justin Viiret
ba0bf0c991
rose_build_add_mask: improve findMaskLiteral perf
2017-09-18 13:29:34 +10:00
Justin Viiret
19e95b0314
rose_build_matchers: init LitFragment fields
...
Silences Coverity warning about squash, delay_squash.
2017-09-18 13:29:34 +10:00
Alex Coyte
a1fdc3afcf
dedupeLeftfixesVariableLag: refactor, more blockmode deduping
2017-09-18 13:29:34 +10:00
Alex Coyte
d6c050abd6
maintain castle report information
2017-09-18 13:29:34 +10:00
Alex Coyte
ace592e247
tidy mergeCastleSuffixes
2017-09-18 13:29:34 +10:00
Alex Coyte
6f452668ec
refactor mergeCastleLeftfixes
2017-09-18 13:29:34 +10:00
Alex Coyte
cee0b722a3
reimplement hasSameEngineType()
2017-09-18 13:29:34 +10:00
Alex Coyte
47e64646b4
move mergeDupeLeaves() and uncalcLeaves() to rose_build_role_aliasing
...
Unlike the rest of rose_build_mergem, these functions relate to merging
roles/vertices rather than merging engines.
2017-09-18 13:22:56 +10:00
Alex Coyte
a97cdba8cc
rose merges: why not dedupe transient engines?
...
We avoid merging different transient engines as it may force us to run heavier
engines and no stream state is consumed either way. However, there should be
no harm in just removing duplicate instances of a transient engine.
2017-09-18 13:22:56 +10:00
Alex Coyte
2a492273b5
remove !LBR constraints from merge passes
...
we have either converted candidates to castles already or we have converted them
back in the hope of merging them with other holders
2017-09-18 13:22:56 +10:00
Alex Coyte
4e9b0ad3fd
rework mergeLeftfixesVariableLag()
2017-08-21 11:25:21 +10:00
Justin Viiret
3ff70d5568
insertion_ordered_{map,set}: add new containers
...
These are associative map/set structures that are iterable in insertion
order.
2017-08-21 11:25:21 +10:00
Wang, Xiang W
a645201675
UE-3147: ensure the same squash behavior for literals shared between different literal matchers
2017-08-21 11:25:03 +10:00
Justin Viiret
ba1df6412b
groupByFragment: make fewer string copies
2017-08-21 11:24:52 +10:00
Justin Viiret
8eb55d4242
rose_build_exclusive: clean up use of vertex indices
2017-08-21 11:24:52 +10:00
Justin Viiret
1f2eb5a093
rose_build_lookaround: use vector in trimLiterals
2017-08-21 11:24:52 +10:00
Justin Viiret
4889a492e4
rose: more hash member funcs for rose types
2017-08-21 11:24:52 +10:00
Justin Viiret
09938d532f
rose: return a vector from findEdgesByLiteral
2017-08-21 11:24:52 +10:00
Justin Viiret
927501175c
rose_build_long_lit: refactor to do less dupe work
...
Also some performance improvements.
2017-08-21 11:24:52 +10:00
Alex Coyte
37033ef9bb
Provide RoseResources to roseQuality.
...
RoseResources is an alternative to manually digging through the bytecode.
2017-08-21 11:24:52 +10:00
Alex Coyte
ffc2d578b1
roseQuality() no longer needs to be part of rose's API.
2017-08-21 11:23:41 +10:00
Alex Coyte
952f0aad21
support dynamic stream compression
2017-08-21 11:18:54 +10:00
Alex Coyte
f8544505ce
mergeLeftfixesVariableLag: update comments, debugging support
2017-08-21 11:18:54 +10:00
Justin Viiret
33823d60d1
tidy: "ue2::flat_set/map" -> "flat_set/map"
2017-08-21 11:14:59 +10:00
Justin Viiret
9cf66b6ac9
util: switch from Boost to std::unordered set/map
...
This commit replaces the ue2::unordered_{set,map} types with their STL
versions, with some new hashing utilities in util/hash.h. The new types
ue2_unordered_set<T> and ue2_unordered_map<Key, T> default to using the
ue2_hasher.
The header util/ue2_containers.h has been removed, and the flat_set/map
containers moved to util/flat_containers.h.
2017-08-21 11:14:55 +10:00
Wang, Xiang W
252eb820c4
ue-3145: make parents of included literals exclusive
2017-08-21 11:12:36 +10:00
Wang, Xiang W
86c5f7feb1
FDR: Squash buckets of included literals in FDR confirm
...
- Change the compile of literal matchers to two passes.
- Reverse the bucket assignment in FDR, bucket with longer literals has
smaller bucket id.
- Squash the buckets of included literals and jump to the the program of
included literals directly from parent literal program without going
through FDR confirm for included iterals.
2017-08-21 11:12:36 +10:00
Wang, Xiang W
67a8f43355
literal matchers: change context passed to callback to scratch
2017-08-21 11:12:36 +10:00
Wang, Xiang W
ebb1b0006b
remove start argument in literal matcher callbacks
2017-08-21 11:12:36 +10:00
Justin Viiret
cdb281df42
rose_build_convert: replace bind2nd with lambda
...
std::bind2nd was deprecated in C++11.
2017-08-21 11:12:26 +10:00
Justin Viiret
9f0bc429b4
rose_in_dump: use StdioFile
2017-08-21 11:12:16 +10:00
Justin Viiret
bf3ced92f4
hwlm_dump: take base filename, like NFA dump API
2017-08-21 11:10:11 +10:00
Justin Viiret
f762fb9af6
dump_util: richer StdioFile type
2017-08-21 11:10:11 +10:00
Justin Viiret
4edf1e4195
dump: move openStdioFile() to util/dump_util.h
2017-08-21 11:10:11 +10:00