16 Commits

Author SHA1 Message Date
g. economou
aa832db892
Teddy macros unrolling - initial PR to test in CI (#294)
Major refactoring of teddy and teddy_avx2, unrolling macros to C++ templated functions

---------

Co-authored-by: G.E <gregory.economou@vectorcamp.gr>
2024-06-26 22:35: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
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
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
06bafae81d fdr_confirm: clean up use of flags 2017-08-21 10:39:00 +10:00
Justin Viiret
e8c0b5685f fdr_confirm: remove complex confirm 2017-08-21 10:38:59 +10:00
Wang, Xiang W
df7bc22ae0 fdr: remove confirm split and pull-back 2017-04-26 14:43:09 +10:00
Justin Viiret
7984b26b14 fdr: rely on fixed size confirm structures 2017-04-26 14:41:29 +10:00
Justin Viiret
1b36594bda fdr: simplify confirm for 8-byte fragments 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
Mohammad Abdul Awal
598f0565cf fdr: Remove python codegen, add safezones 2016-05-18 16:22:52 +10:00
Matthew Barr
904e436f11 Initial commit of Hyperscan 2015-10-20 09:13:35 +11:00