1448 Commits

Author SHA1 Message Date
Justin Viiret
5c9c540424 rose: fix up comments referring to CHECK_LITERAL
This instruction is now called CHECK_LONG_LIT.
2017-04-26 14:41:29 +10:00
Justin Viiret
5061b76901 rose: mark RoseInstrCheckLongLit ctor explit 2017-04-26 14:41:29 +10:00
Justin Viiret
8f1b3c89fa rose: remove no-longer-used convertBadLeaves pass 2017-04-26 14:41:29 +10:00
Matthew Barr
bc2f336d9d Work around for deficiency in C++11/14/17 standard
As explained to us by STL at Microsoft (the author of their
vector), there is a hole in the standard wrt the vector copy
constructor, which always exists even if it won't compile.
2017-04-26 14:41:29 +10:00
Justin Viiret
68bdc800fc dump: render literals as regexes (with comments) 2017-04-26 14:41:29 +10:00
Justin Viiret
22edaad1dd fdr: compile algo/heuristics improvements
These changes fix a small bug in the algorithm used for bucket
assignment in FDR's compile process, and also tweak a few of the
heuristics governing it.
2017-04-26 14:41:29 +10:00
Justin Viiret
a5a6051b8b runtime: init more of scratch in pure-literal exec 2017-03-01 13:05:44 +11:00
Alex Coyte
31dd33a9be lbr: set lastEscape on expand 2017-03-01 13:05:44 +11:00
Alex Coyte
e717525194 Check if any tugs are alive when compressing/expanding repeats 2017-03-01 13:05:20 +11:00
Alex Coyte
f9324febde Ensure the queue structure is initialised in roseEnginesEod(). 2017-03-01 13:05:10 +11:00
Justin Viiret
cacf07fe9b prefilter: workaround for \b in UCP and !UTF8 mode
For now, just drop the assertion (which will still return a superset of
matches, as per prefiltering semantics).
2017-01-20 09:19:51 +11:00
Alex Coyte
734eb2ce62 we can only trim lookarounds based on information common to all literals 2017-01-17 11:39:17 +11:00
Alex Coyte
35716c70ef ensure that we add default top when creating a new infix graph 2017-01-17 11:39:04 +11:00
Matthew Barr
46f74300f2 update copyright year 2017-01-17 11:38:09 +11:00
Matthew Barr
988ee0eb55 MSVC requires the attribute before the type 2017-01-06 11:24:12 +11:00
Alex Coyte
10346f53f7 mcclellan: handle 0 length block scans correctly 2017-01-06 11:22:59 +11:00
Alex Coyte
c699e98750 Add explicit casts to succ table entry calculations.
Although overflow should not be possible given the range of alphaShift, this
resolves coverity scan issues CID 158536 and CID 158537.
2017-01-06 11:22:26 +11:00
Matthew Barr
8334745063 SSE2 preprocessor test for MSVC
MSVC doesn't define __SSE2__ but we can figure it out from
other macros.
2016-12-14 15:35:44 +11:00
Matthew Barr
ea5e3bc0b1 Mark dispatch functions as public API 2016-12-14 15:35:44 +11:00
Matthew Barr
0d0e1a5106 api: hs_valid_platform 2016-12-14 15:35:13 +11:00
Matthew Barr
c3a73446ee Fat runtime 2016-12-14 15:34:54 +11:00
Matthew Barr
2214296b7f Convert compile-time code to not require SIMD 2016-12-14 15:29:01 +11:00
Matthew Barr
e993fe1eb0 Remove erroneous semicolon 2016-12-14 15:28:58 +11:00
Justin Viiret
e271781d95 multibit, fatbit: make _size build-time only
This commit makes mmbit_size() and fatbit_size compile-time only, and
adds a resource limit for very large multibits.
2016-12-14 15:28:54 +11:00
Alex Coyte
8b7b06d2a4 calcDepthFromSource: only take one copy of the graph 2016-12-14 15:28:47 +11:00
Alex Coyte
582f71c5bb mcsheng: remove dead code 2016-12-14 15:27:31 +11:00
Alex Coyte
e51b6d23b9 introduce Sheng-McClellan hybrid 2016-12-14 15:27:18 +11:00
Justin Viiret
06cde4c94d ng_literal_analysis: use ue2_graph
This reduces compile time ~10% on a number of large cases.
2016-12-02 11:35:56 +11:00
Justin Viiret
32af5fa794 mcclellan: fix printf format specifiers 2016-12-02 11:35:52 +11:00
Alex Coyte
106667e24e refactor mcclellan runtime
1. use u32 to hold the state during runtime to prevent repeated zero extension
2. have a tight small loop for processing characters which breaks when
   something interesting happens
2016-12-02 11:35:47 +11:00
Justin Viiret
ef99ae108f rose_build_merge: correctly merge NFA outfixes
We were not doing our bookkeeping properly for merges where the number
of NFAs was greater than the batch size of 200.
2016-12-02 11:34:52 +11:00
Alex Coyte
eb7759361d Rework the creation of startDs edges in fillHolderForLockCheck().
This prevents clearing of edges created for virtual starts in late regions.
2016-12-02 11:34:41 +11:00
Alex Coyte
8b94eb86f8 precise dverm fix for 5a32993: handle sign extension correctly 2016-12-02 11:34:20 +11:00
Alex Coyte
f605ca0dc1 check for partial matches at end of dverm 2016-12-02 11:34:04 +11:00
Justin Viiret
16aa22a361 gough: don't dump int data unless it's requested 2016-12-02 11:33:54 +11:00
Matthew Barr
5a842caaf1 shufti: slightly faster short shufti operation
It is better to shift the high lane values in an XMM
before then using insert to combine the high and low lanes.
2016-12-02 11:33:51 +11:00
Matthew Barr
99e14df117 Fix combine2x128 2016-12-02 11:33:48 +11:00
Alex Coyte
8ff7a3cdbb correct dump filenames of som rev engines 2016-12-02 11:33:44 +11:00
Alex Coyte
32c826e9c6 have single dump function per engine 2016-12-02 11:32:36 +11:00
Alex Coyte
71ff480b77 nfa_api: remove subtype from dispatch 2016-12-02 11:32:28 +11:00
Alex Coyte
1614c73eeb Implement some ue2_graph functions using TMP rather than friends
This helps work around issues with some compilers
2016-12-02 11:32:24 +11:00
Alex Coyte
530d84c6f3 allow edge_descriptors to be created from pair<edge_descriptor, bool> 2016-12-02 11:32:20 +11:00
Alex Coyte
e1e9010cac Introduce custom adjacency-list based graph 2016-12-02 11:31:33 +11:00
Alex Coyte
05683655cb remove unused define and old inlining controls 2016-12-02 11:30:27 +11:00
Alex Coyte
2341fe7baa use stable_sort in analysis from 47f53f6; missed review comment 2016-12-02 11:29:30 +11:00
Justin Viiret
29472c7b71 rose_dump: remove stray newline 2016-12-02 11:28:20 +11:00
Justin Viiret
91a7ce1cda getData256(): data needs to be 32-byte aligned 2016-12-02 11:28:16 +11:00
Justin Viiret
054749f9ee smallwrite: minimize DFAs if they have been pruned 2016-12-02 11:28:12 +11:00
Justin Viiret
c67a361080 smallwrite: prune overlong nfa graphs early 2016-12-02 11:26:37 +11:00
Justin Viiret
21a1b47637 ng_limex: add edges in deterministic ordering 2016-12-02 11:26:33 +11:00