1000 Commits

Author SHA1 Message Date
Alex Coyte
a810bac8f7 be more selective about generating CLEAR_WORK_DONE instructions 2017-05-30 13:58:32 +10:00
Alex Coyte
cd424bdb45 minor clean up of rose_build_bytecode.cpp
- consistently name functions creating programs as makeFoo()
- replace writeLiteralProgram() with makeFragmentProgram()
- make applyFinalSpecialisation() part of writeProgram(bc, prog)
- seperate users who want to make a program for a single literal and fragments
2017-05-30 13:58:04 +10:00
Matthew Barr
0626a30a6a Make the build wrapper less fragile
This script was failing for certain paths (dots, whitespace), and using
sed to replace parts of the command line was overkill. Do less mangling,
and quote command line args.

Fixes 01org/hyperscan#51
2017-05-30 13:57:32 +10:00
Justin Viiret
d809e73d45 smallwrite: cope when everything has been pruned 2017-05-30 13:57:32 +10:00
Justin Viiret
c6f5275acc mcclellancompile: docs for main compile function 2017-05-30 13:57:32 +10:00
Justin Viiret
42fca877a7 smallwrite: prune trie when rose is high quality 2017-05-30 13:57:32 +10:00
Justin Viiret
388c16c550 smallwrite: construct DFA states in BFS order 2017-05-30 13:57:32 +10:00
Justin Viiret
10f52346ca smallwrite: bfs ordering, refine daddy selection 2017-05-30 13:57:32 +10:00
Justin Viiret
3b3f6b739c smallwrite: use failure map to set dfa daddy state 2017-05-30 13:57:32 +10:00
Justin Viiret
beac58fcb4 dfa: allow smwr to avoid lengthy daddy recalc 2017-05-30 13:57:32 +10:00
Justin Viiret
1538d90a9e mcsheng_compile: factor out find_daddy_candidates 2017-05-30 13:57:32 +10:00
Justin Viiret
f5d769118a mcclellancompile: factor out find_daddy_candidates 2017-05-30 13:57:32 +10:00
Justin Viiret
0dd8536c6e dfa: only accel init states from smwr path
If the small-write DFA has been built from literals, then we only need
to look for accel states at init.
2017-05-30 13:57:32 +10:00
Justin Viiret
41d7aa8281 dfa: prune_overlong -> clear_deeper_reports
Rather than pruning states, we simply clear reports on states that are
too deep and allow Hopcroft minimisation to reduce the size of the DFA
afterwards.
2017-05-30 13:57:32 +10:00
Justin Viiret
8650a1a33f dfa_min: clean up and improve minimize code 2017-05-30 13:57:32 +10:00
Justin Viiret
8fdef3f3be accel_dfa_build_strat: use flat_map for small maps 2017-05-30 13:49:49 +10:00
Justin Viiret
c9be18c7e2 accel_dfa_build_strat: use small_vector for paths 2017-05-30 13:49:49 +10:00
Justin Viiret
304bac3286 mcclellancompile_util: reduce malloc traffic, tidy 2017-05-30 13:49:49 +10:00
Justin Viiret
4cc998e4ab ng_limex_accel: fix broken termination condition 2017-05-30 13:49:49 +10:00
Justin Viiret
083d84cfd6 expressions: add much faster limitToSignatures() 2017-05-30 13:49:24 +10:00
Matthew Barr
0b8f25a036 Ensure simd types are aligned to what we assume
Turns out Clang is sensitive to the location of the alignment attribute.
2017-05-30 13:48:38 +10:00
Justin Viiret
c0d7960954 ng_limex_accel: compile time speedups, tidy up 2017-05-30 13:48:38 +10:00
Justin Viiret
40f03929be find_better_daddy: use flat_set for hinted states 2017-05-30 13:47:20 +10:00
Justin Viiret
698653766b find_escape_strings: find outs2_broken faster 2017-05-30 13:47:20 +10:00
Justin Viiret
bfcb391580 doc: update copyright year 2017-04-26 15:36:04 +10:00
Justin Viiret
6dc1e202b9 hsbench: documentation 2017-04-26 15:34:45 +10:00
Matthew Barr
b1c57f9f54 cmake: check for libc++ directly
Rather than trying to infer libc++ use from platform and compiler, just
look for a defined symbol.
2017-04-26 15:19:52 +10:00
Matthew Barr
19c7161d04 Use ue2::noncopyable instead of deleting copy ctor 2017-04-26 15:19:51 +10:00
Matthew Barr
51b9146608 windows: tools are unix only 2017-04-26 15:19:51 +10:00
Justin Viiret
d4c66e294b smallwrite: aho-corasick construction for literals 2017-04-26 15:19:51 +10:00
Justin Viiret
b75b169b49 smallwrite: simple trie experiment 2017-04-26 15:19:51 +10:00
Justin Viiret
eec2b8233d rdfa_merge: sort esets before alphabet calc 2017-04-26 15:19:51 +10:00
Xu, Chi
2f9d063190 rose: fix CHECK_MULTIPATH_LOOKAROUND match difference bug 2017-04-26 15:19:49 +10:00
Justin Viiret
97bbb62504 bytecode_ptr: needs <stdexcept> for logic_error 2017-04-26 15:19:43 +10:00
Justin Viiret
37596c50cf bytecode_ptr: avoid shadowing size() 2017-04-26 15:19:43 +10:00
Justin Viiret
d4146059db bytecode_ptr: add shrink() member function 2017-04-26 15:19:43 +10:00
Justin Viiret
82b889f4a2 bytecode_ptr: fix shadow/conversion issues (gcc48) 2017-04-26 15:19:43 +10:00
Justin Viiret
3e5a8c9c90 rose: eliminate roseSize, use bytecode_ptr size 2017-04-26 15:19:43 +10:00
Justin Viiret
820f1432aa alloc: remove aligned_unique_ptr 2017-04-26 15:19:43 +10:00
Justin Viiret
d269b83dda rose_build_long_lit: use bytecode_ptr 2017-04-26 15:19:43 +10:00
Justin Viiret
e8162960fc unit: use bytecode_ptr instead of aligned_unique_ptr 2017-04-26 15:19:36 +10:00
Justin Viiret
b6047ea5d4 rose: use bytecode_ptr for interpreter programs 2017-04-26 15:19:36 +10:00
Justin Viiret
0a3bd455ad rose_build_bytecode: fix up indentation 2017-04-26 15:19:36 +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
5653fa55a1 bytecode_ptr updates 2017-04-26 15:19:36 +10:00
Justin Viiret
d9bac2bdb3 teddy: fix forward decl (namespace ue2) 2017-04-26 15:19:36 +10:00
Justin Viiret
67779e0c0a bytecode_ptr: some small improvements 2017-04-26 15:19:36 +10:00
Justin Viiret
a197074c5d nfa: switch to using bytecode_ptr<NFA> 2017-04-26 15:19:36 +10:00
Justin Viiret
905ac78061 rose_build_anchored: use bytecode_ptr 2017-04-26 15:19:36 +10:00
Justin Viiret
7b17d418e7 hwlm: use bytecode_ptr for HWLM structures 2017-04-26 15:19:36 +10:00