61 Commits

Author SHA1 Message Date
Alex Coyte
e58786e192 Use add_edge_if_not_present in somMayGoBackwards()
As somMayGoBackwards() operates on a copy of the graph where virtual
starts have been collapsed on to startDs, we need to be careful not to
create parallel edges.
2016-03-01 11:09:49 +11:00
Justin Viiret
8c09d054c9 Add per-top findMinWidth etc for NFA graphs 2015-12-07 09:38:32 +11:00
Justin Viiret
abbd548899 ng_execute: update interface to use flat_set
This changes all the execute_graph() interfaces so that instead of
mutating a std::set of vertices, they accept an initial flat_set of
states and return a resultant flat_set of states after execution.

(Note that internally execute_graph() still uses bitsets)

This is both faster and more flexible.
2015-11-18 15:27:17 +11:00
Justin Viiret
2a2576e907 Introduce copy_bytes for writing into bytecode
Protects memcpy from nullptr sources, which triggers failures in GCC's
UB sanitizer.
2015-11-18 15:26:16 +11:00
Justin Viiret
5805ac193c NGWrapper: mark dtor with override 2015-11-10 14:36:38 +11:00
Alex Coyte
89660e30b6 raw_som_dfa: initialize members in constructor 2015-11-10 14:36:14 +11:00
Alex Coyte
510e999738 make Automaton_Base ctor protected
Makes explicit that Automaton_Base is intended to be used as a only base class
2015-11-10 14:25:05 +11:00
Alex Coyte
7b6ad2a01a doComponent: make it obvious that a is never null 2015-11-10 14:25:05 +11:00
Justin Viiret
da2386585d Init filter members to nullptr
Note that BGL filters must be default-constructible.
2015-11-10 14:25:04 +11:00
Alex Coyte
629be08683 reduce memory use in ng_small_literal_set/ng_literal_decorated
These passes kept temporary strings/paths alive longer than was needed which
lead to high memory usage during these passes in pathological cases.
2015-10-30 11:28:37 +11:00
Matthew Barr
904e436f11 Initial commit of Hyperscan 2015-10-20 09:13:35 +11:00