1471 Commits

Author SHA1 Message Date
Wang, Xiang W
56e4d5a2c6 runtime: mark scratch unused only when no further scratch references 2019-04-10 06:52:55 -04:00
Wang, Xiang W
28786eb269 Rose: extend handling for unexpected logical combination programs 2019-04-10 06:52:40 -04:00
Wang, Xiang W
6dc9bed310 Rose: add handling for unexpected programs 2019-03-26 10:16:26 -04:00
Wang, Xiang W
229f3d5080 tools: add catches for C++ exceptions 2019-01-21 09:59:37 +08:00
Hong, Yang A
b5a8644b1f mcclellan: fix dump issue in wide-state case. 2019-01-21 09:59:29 +08: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
Hong, Yang A
805a550a0a mcclellan: wide state fixes for sanitisers and accept state construction 2019-01-21 09:58:18 +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
Hong, Yang A
c06d5e1c14 DFA state compression: 16-bit wide and sherman co-exist 2019-01-21 09:56:37 +08:00
Chang, Harry
acffc9d36c Jenkins-1424: fixed error which misses report of logical combination under
vacuous input.
2019-01-21 09:56:21 +08:00
Chang, Harry
62dfd48d53 Jenkins-1080: fixed error reporting logical combination match in "A&!B" type by
moving flush_comb behind report_eod_matches in hs_close_stream/hs_reset_stream.
2019-01-21 09:56:12 +08:00
Wang, Xiang W
8a0e4f8249 Use std::distance explicitly to avoid ambiguity with boost 2019-01-11 16:05:55 +08:00
Lu, Qi
5a0885d235 Windows porting: port hyperscan and chimera tools to windows. 2018-07-09 11:40:43 -04:00
Wang, Xiang W
bf87f8c003 chimera: hybrid of Hyperscan and PCRE 2018-07-09 11:30:35 -04:00
Chang, Harry
8a1c497f44 Logical Combination of patterns. 2018-06-27 14:04:57 +08:00
Wang, Xiang W
08b00f6149 hscollider: fix input length for UTF8 check 2018-06-27 14:04:53 +08:00
Justin Viiret
f877f14641 ue2_graph: more direct property_graph defn 2018-06-27 13:40:26 +08:00
Justin Viiret
a1d4eec116 nfagraph: remove ng_undirected.h 2018-06-27 13:40:21 +08:00
Justin Viiret
3c776b25c3 ng_repeat: use undirected_graph 2018-06-27 13:40:15 +08:00
Justin Viiret
c7c90c7ab7 graph_undirected: adapt bidi graph to undirected
Introduces an adaptor (like the BGL's reverse_graph) that presents an
undirected view of a bidirectional graph.

Initially used in ng_calc_components.
2018-06-27 13:40:10 +08:00
Justin Viiret
16076ed4a3 mcsheng: debug format string fixes 2018-06-27 13:39:30 +08:00
Justin Viiret
25adf3f512 sheng: fix reportCurrent eod flag
eod here should be 0, not 1. The reportCurrent NFA API function for
Sheng is unused at the moment, so this wasn't causing any problems
earlier.
2018-06-27 13:39:24 +08:00
Justin Viiret
e65479dae5 mcclellancompile: MAX_SHERMAN_LIST_LEN can be 9 2018-06-27 13:39:10 +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
Justin Viiret
08bf909e2b ng_violet: make calcSplitRatio operation faster
Implements count_reachable in a less malloc-happy way, improving
compile performance. Adds a count() function to small_color_map.
2018-06-27 13:38:55 +08:00
Justin Viiret
cadc7028b1 ng_width: turn min width check into assert 2018-06-27 13:38:32 +08:00
Matthew Barr
50ea83cb26 Move cpuid checks inline.
During fat runtime function resolution there was a chance that the PLT
might not be initialised in time for us to call the cpuid check
functions. Moving them inline means there is no PLT to worry about.

Fixes #78
2018-01-19 06:32:18 -05:00
Matthew Barr
090632f61a ext param - more consistent depth check 2018-01-19 06:24:21 -05:00
Justin Viiret
58eda9155d doc: use doxygen @p to refer to parameters 2018-01-19 06:17:22 -05:00
Justin Viiret
def9636d01 doc: document that hs_close_stream frees memory
Add explicit documentation that hs_close_stream() will free the stream
state after returning any matches.
2018-01-19 06:16:14 -05:00
Matthew Barr
1891f14755 Add support for Hamming distance approx matching 2018-01-19 06:11:43 -05:00
Matthew Barr
5021d7ab78 De-const the empty maps.
Clang 3.8 complains about attempting to default init const objects
without a user-provided constructor.
2017-09-22 15:17:56 +10:00
Hong, Yang A
ae918116ab find_better_daddy: position change 2017-09-18 13:31:09 +10: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
Matthew Barr
3b63a95f01 Handle any exceptions while constructing compiler elements
Specifically, NG has a Rose which has a LeftEng which has a depth, which can
throw an error on construction. If we put these in the try-catch we don't
have to worry so much in future.
2017-09-18 13:29:34 +10:00
Matthew Barr
5fc2c803a2 teddy: alignment decl should match defn
Spotted by coverity. #174512
2017-09-18 13:29:34 +10:00
Justin Viiret
af519f3190 hwlm_build: default for HWLMProto::make_small
Silences Coverity warning.
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
Justin Viiret
ea2e85ac87 ng_squash: switch to using unordered_map
Also some cleaning up, small performance improvements.
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
Justin Viiret
7fe53fec10 partitioned_set: use lower_bound(), not scan 2017-09-18 13:29:34 +10:00