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