1476 Commits

Author SHA1 Message Date
Justin Viiret
9258592d0b report_manager: more use of unordered_map 2017-05-30 13:58:32 +10:00
Justin Viiret
1878b9a857 report_manager: use unordered externalIdMap 2017-05-30 13:58:32 +10:00
Alex Coyte
1287b70f4b split out instruction details to own files 2017-05-30 13:58:32 +10:00
Alex Coyte
f74f475189 rose_program: merge RECORD_ANCHORED instruction into ANCHORED_DELAY 2017-05-30 13:58:32 +10:00
Alex Coyte
e24c38a85c rose: minor improvements to avoid unneeded program instructions
- strip out lonely check handled instructions
- avoid producing programs for empty ghost roles
2017-05-30 13:58:32 +10:00
Alex Coyte
88fd95e38a rose: minor clean up of catchup
- anchored dfa do not mean that catchup is required
- remove needsCatchup from rose bytecode as catchup is based on interpreter
2017-05-30 13:58:32 +10:00
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
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
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
Matthew Barr
19c7161d04 Use ue2::noncopyable instead of deleting copy ctor 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
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
Justin Viiret
813f1e3fb9 rose: use bytecode_ptr<RoseEngine> 2017-04-26 15:19:36 +10:00