]> git.ipfire.org Git - thirdparty/vectorscan.git/commit
fdr: move long literal handling into Rose
authorJustin Viiret <justin.viiret@intel.com>
Wed, 7 Sep 2016 05:59:23 +0000 (15:59 +1000)
committerMatthew Barr <matthew.barr@intel.com>
Fri, 28 Oct 2016 03:52:26 +0000 (14:52 +1100)
commit68bf473e2e51112ff62baa1a3e401aa00e3f47b8
treeced24465a994e2e75e953b8c1aa729e3e45d3052
parent6ed30194ce03ccee632dc8f2112a3f04b14c0a81
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.
40 files changed:
CMakeLists.txt
src/fdr/fdr.c
src/fdr/fdr.h
src/fdr/fdr_compile.cpp
src/fdr/fdr_confirm_compile.cpp
src/fdr/fdr_confirm_runtime.h
src/fdr/fdr_internal.h
src/fdr/fdr_streaming_compile.cpp [deleted file]
src/fdr/fdr_streaming_internal.h [deleted file]
src/fdr/fdr_streaming_runtime.h [deleted file]
src/hwlm/hwlm.c
src/hwlm/hwlm.h
src/hwlm/hwlm_build.cpp
src/hwlm/hwlm_build.h
src/hwlm/hwlm_literal.cpp
src/hwlm/hwlm_literal.h
src/rose/init.c
src/rose/program_runtime.h
src/rose/rose_build_bytecode.cpp
src/rose/rose_build_compile.cpp
src/rose/rose_build_dump.cpp
src/rose/rose_build_impl.h
src/rose/rose_build_long_lit.cpp [new file with mode: 0644]
src/rose/rose_build_long_lit.h [new file with mode: 0644]
src/rose/rose_build_matchers.cpp
src/rose/rose_build_matchers.h
src/rose/rose_build_program.cpp
src/rose/rose_build_program.h
src/rose/rose_dump.cpp
src/rose/rose_internal.h
src/rose/rose_program.h
src/rose/runtime.h
src/rose/stream.c
src/rose/stream_long_lit.h [new file with mode: 0644]
src/rose/stream_long_lit_hash.h [new file with mode: 0644]
src/runtime.c
src/scratch.h
src/util/ue2string.h
unit/internal/fdr.cpp
unit/internal/fdr_flood.cpp