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