673 Commits

Author SHA1 Message Date
Justin Viiret
7c2627f2c2 flat_set/map: make erase() take const_iterator 2017-04-26 14:41:30 +10:00
Justin Viiret
1db7f30296 flat_base: move swap() 2017-04-26 14:41:30 +10:00
Justin Viiret
f8166fac25 flat_base: take more common operations 2017-04-26 14:41:30 +10:00
Justin Viiret
a38ac6a52f flat_base: take more common operations 2017-04-26 14:41:30 +10:00
Justin Viiret
adfb9fe3f9 flat_set: move comp/data helpers to base 2017-04-26 14:41:30 +10:00
Justin Viiret
3fb5a3702e flat_set/map: use boost::totally_ordered 2017-04-26 14:41:30 +10:00
Justin Viiret
f520599ab7 flat_map: add value_comp() 2017-04-26 14:41:30 +10:00
Justin Viiret
e37fdb240a flat_set/map: add hash_value tests 2017-04-26 14:41:30 +10:00
Justin Viiret
27adea2224 flat_map: small doc fix 2017-04-26 14:41:30 +10:00
Justin Viiret
a55c03d1f4 flat_set/map: back with small_vector 2017-04-26 14:41:30 +10:00
Justin Viiret
5f60812c9b flat_set: cheesy tuple-based ebo 2017-04-26 14:41:30 +10:00
Justin Viiret
843ead266f flat_set: modernize iter_wrapper ctors 2017-04-26 14:41:30 +10:00
Justin Viiret
f307956584 rose: do not combine fragments which squash groups 2017-04-26 14:41:30 +10:00
Justin Viiret
c31c1c366e filterLits: better debug output 2017-04-26 14:41:30 +10:00
Justin Viiret
988ea6b4e1 rose: role aliasing improvements
These changes improve the performance of the role aliasing passes on
very large cases and fix a couple of small errors in the left and right
merge passes as well.
2017-04-26 14:41:30 +10:00
Justin Viiret
a55bbe657c fdr: remove clamp on confirm size 2017-04-26 14:41:30 +10:00
Justin Viiret
12edb07f6e fdr_compile: remove dead var 2017-04-26 14:41:29 +10:00
Justin Viiret
1584da9025 rose: don't accel noodle engines 2017-04-26 14:41:29 +10:00
Justin Viiret
68a35ff3b8 rose: give longer literals to accel analysis 2017-04-26 14:41:29 +10:00
Justin Viiret
2fda8c0b20 hwlm: move accel from hwlm build to rose 2017-04-26 14:41:29 +10:00
Justin Viiret
7984b26b14 fdr: rely on fixed size confirm structures 2017-04-26 14:41:29 +10:00
Justin Viiret
1b36594bda fdr: simplify confirm for 8-byte fragments 2017-04-26 14:41:29 +10:00
Justin Viiret
abcac24b47 rose: add more program dump code 2017-04-26 14:41:29 +10:00
Justin Viiret
eb14792a63 rose: group final ids by fragment 2017-04-26 14:41:29 +10:00
Justin Viiret
07a6b6510c rose/hwlm: limit literals to eight bytes
Rework HWLM to work over literals of eight bytes ("medium length"),
doing confirm in the Rose interpreter.
2017-04-26 14:41:29 +10:00
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