1476 Commits

Author SHA1 Message Date
Justin Viiret
46ad39f253 Add inlined sparseLastTop
This allows the code to be inlined into other sparse optimal repeat
functions.
2015-11-10 14:36:38 +11:00
Justin Viiret
2603be3924 storeInitialRingTopPatch: fix large delta bug
Check for staleness up front, so that it is safe to use u32 values to
handle adding more tops.

Adds LargeGap unit tests.
2015-11-10 14:36:38 +11:00
Justin Viiret
a083bcfa8d repeat: use u32 arithmetic explicitly
In some ring-based models, we know that if the ring is not stale, then
all our bounds should fit within 32-bits. This change makes these
explicitly u32 rather than implicitly narrowing later on.
2015-11-10 14:36:38 +11:00
Justin Viiret
ae7dbc2472 repeatRecurTable: no need for u64a return type 2015-11-10 14:36:38 +11:00
Xiang Wang
e8bfe5478b Optimize max clique analysis
Use vectors of state ids to avoid the overhead of subgraph copies
2015-11-10 14:36:38 +11:00
Alex Coyte
1507b3fd36 move oversize graph check out of Automaton_holder ctor 2015-11-10 14:36:14 +11:00
Alex Coyte
89660e30b6 raw_som_dfa: initialize members in constructor 2015-11-10 14:36:14 +11:00
Justin Viiret
4311775b43 LimEx NFA: unify flush br/estate behaviour
Make the GPR NFA models only clear cached_estate conditionally based on
cached_br, as per the SIMD models.
2015-11-10 14:36:14 +11:00
Justin Viiret
b5e290e985 LimEx NFA: no need to zero estate cache in STREAM
We believe that we have solved the issues that required zeroing of the
exception state in STREAM_FN and REV_STREAM_FN nowadays.
2015-11-10 14:36:14 +11:00
Justin Viiret
01498fa8a5 LimEx NFA: no need to zero init cached_esucc
All of the "exception cache" members are guarded by cached_esucc.
2015-11-10 14:25:05 +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
a255e6b678 add asserts to make bounds on alphaShift clear 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
c7bebf8836 RoseBuildImpl: init base_id members
These are set late in the Rose build process, when final IDs are
allocated.
2015-11-10 14:25:04 +11:00
Justin Viiret
447753f148 FDR compiler: assert that all models are < 32 bits 2015-11-10 14:25:04 +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
Justin Viiret
cea914e18e Add q_last_type() queue function
Analogous to q_cur_type(), asserts that queue indices are within a valid
range.
2015-11-10 14:25:04 +11:00
Justin Viiret
a6383a54a4 assignStringsToBuckets: assert that there are lits 2015-11-10 14:25:04 +11:00
Matthew Barr
1f47b82106 Remove unneeded code at preproc stage
If we know we have BMI2 we shouldn't produce the fallback code.
2015-10-30 11:28:38 +11:00
Matthew Barr
ba0b2b788b cmake: collection of fixes 2015-10-30 11:28:38 +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
Justin Viiret
1afc591c30 Check for (and throw on) large min repeat
We were only checking for large maximum bounds, which meant that we
would attempt to compile A{N,} where N is huge.
2015-10-30 11:28:37 +11:00
Justin Viiret
55b357f7d1 Remove enum mqe_event and use u32 for queue events
We were using intermediate values int he enum and casting back and forth
with a u32; it is cleaner to just use a u32 and define some special
values.

Silences ICC warning #188: enumerated type mixed with another type.
2015-10-30 11:28:37 +11:00
Justin Viiret
9ff1303cd8 Allow no scratch for stream reset API calls
Bring hs_reset_stream(), hs_reset_and_copy_stream()'s functionality into
line with hs_close_stream() by accepting a NULL scratch if and only if
the match callback is also NULL, indicating that no matches should be
delivered.
2015-10-30 11:28:37 +11:00
Justin Viiret
b59491d0db Custom NFA_API_NO_IMPL variant for zombie_status
Silences ICC warning #188: enumerated type mixed with another type.
2015-10-30 11:28:37 +11:00
Matthew Barr
904e436f11 Initial commit of Hyperscan 2015-10-20 09:13:35 +11:00