36 Commits

Author SHA1 Message Date
g. economou
22c3e3da6e
Merge branch 'develop' into wip-cppcheck271-part2 2024-05-17 11:08:09 +03:00
G.E
da4f563a24 first batch of cppcheck disables and a few more stl-ifications,
involving use of accumulate() .
2024-05-16 23:01:17 +03:00
Konstantinos Margaritis
e819cb1100 Fix C-style casts 2024-05-16 12:03:42 +03:00
Konstantinos Margaritis
6d6d4e1013 Fix unreadVariable warning 2024-05-15 17:05:50 +03:00
G.E
9902ca0e34 addressing 47 [constParameterReference],48 [constVariableReference],58
[constVariable]
2024-05-01 10:54:15 +03:00
Konstantinos Margaritis
0d2f9ccbaa Fix 'unqualified call to std::move' errors in clang 15+ 2023-10-03 20:24:39 +03:00
Konstantinos Margaritis
556206f138 replace push_back by emplace_back where possible 2021-10-12 11:51:33 +03: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
Hong, Yang A
f68723a606 literal matching: separate path for pure literal patterns 2019-01-21 09:59:22 +08: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
Chang, Harry
dbd3f66e87 Reinforced Teddy with 1-byte approach, based on "shift-or" and AVX2. 2017-08-21 11:10:11 +10:00
Justin Viiret
64db576b9e fdr_confirm_compile: literals are now < 8 bytes 2017-08-21 10:39:00 +10:00
Justin Viiret
d94bf2fd62 fdr_confirm_compile: wrap comment 2017-08-21 10:39:00 +10:00
Justin Viiret
06bafae81d fdr_confirm: clean up use of flags 2017-08-21 10:39:00 +10:00
Justin Viiret
549062ec2b fdr_confirm: start FDRConfirm structs at cacheline 2017-08-21 10:38:59 +10:00
Justin Viiret
9bdd370163 fdr: align major structures to cachelines 2017-08-21 10:38:59 +10:00
Justin Viiret
c36c071564 fdr_confirm: remove dead flags
- Caseless was unused
 - NoFlags is a bit redundant
2017-08-21 10:38:59 +10:00
Justin Viiret
e8c0b5685f fdr_confirm: remove complex confirm 2017-08-21 10:38:59 +10:00
Justin Viiret
dedfc34515 fdr_confirm_compile: fix bug in table sizing 2017-06-15 15:41:30 +10:00
Justin Viiret
d4146059db bytecode_ptr: add shrink() member function 2017-04-26 15:19:43 +10:00
Justin Viiret
63fe84c3f1 bytecode_ptr: add make_zeroed_bytecode_ptr
Rather than always zeroing memory.
2017-04-26 15:19:36 +10:00
Justin Viiret
2698e534e4 fdr_confirm_compile: use bytecode_ptr 2017-04-26 15:19:35 +10:00
Justin Viiret
97516eccb6 fdr: use bytecode_ptr internally 2017-04-26 15:19:35 +10:00
Wang, Xiang W
df7bc22ae0 fdr: remove confirm split and pull-back 2017-04-26 14:43:09 +10:00
Justin Viiret
a55bbe657c fdr: remove clamp on confirm size 2017-04-26 14:41:30 +10:00
Justin Viiret
7984b26b14 fdr: rely on fixed size confirm structures 2017-04-26 14:41:29 +10:00
Justin Viiret
f7cc8a618d fdr: reduce confirm size to a u8
Also removes the flexible array member from the LitInfo structure.
2016-10-28 14:52:52 +11:00
Justin Viiret
68bf473e2e fdr: move long literal handling into Rose
Move the hash table used for long literal support in streaming mode from
FDR to Rose, and introduce new instructions CHECK_LONG_LIT and
CHECK_LONG_LIT_NOCASE for doing literal confirm for long literals.

This simplifies FDR confirm, and guarantees that HWLM matchers will only
be used for literals < 256 bytes long.
2016-10-28 14:52:26 +11:00
Justin Viiret
ad74f3b895 fdr: use braced init syntax for pairs 2016-07-08 10:49:59 +10:00
Justin Viiret
d626cb68e0 fdr_confirm_compile: clean up debugging code 2016-07-08 10:49:48 +10:00
Justin Viiret
aebbd4f169 setupFullMultiConfs: return smart ptr 2016-07-08 10:49:31 +10:00
Justin Viiret
81880d5a8d fdr_confirm_compile: clean up for loops, iterators 2016-07-08 10:49:24 +10:00
Justin Viiret
139a472af0 fdr_confirm_compile: typedef -> using 2016-07-08 10:49:20 +10:00
Justin Viiret
69653aaec5 fdr_confirm_compile: use smart ptrs 2016-07-08 10:49:17 +10:00
Justin Viiret
f7cdfc5e54 fdr: don't include fdr.h if not necessary 2016-05-18 16:22:41 +10:00
Matthew Barr
904e436f11 Initial commit of Hyperscan 2015-10-20 09:13:35 +11:00