236 Commits

Author SHA1 Message Date
Justin Viiret
ec985a62f8 castle: add nfa kind to CastleProto 2016-05-18 16:21:03 +10:00
Justin Viiret
1f41a921f2 mcclellan, gough: native report remapping 2016-05-18 16:20:45 +10:00
Justin Viiret
611579511c rose: remap reports to program offsets 2016-05-18 16:20:42 +10:00
Justin Viiret
f40aa6bd40 report_manager: store report -> program mapping 2016-05-18 16:20:38 +10:00
Justin Viiret
fd7f30a5b5 Merge functions no longer need transfer function 2016-04-20 13:34:57 +10:00
Justin Viiret
319d47ae4f Remove OutfixInfo::chained (which meant "is MPV") 2016-04-20 13:34:57 +10:00
Justin Viiret
16985ab6e5 Use a visitor for outfix engine construction 2016-04-20 13:34:57 +10:00
Justin Viiret
32c866a8f9 OutfixInfo: use boost::variant for engines 2016-04-20 13:34:57 +10:00
Justin Viiret
fa27025bcb Wrap MPV puffettes in a struct 2016-04-20 13:34:57 +10:00
Justin Viiret
ac31841214 scratch: delete unused hs_scratch::qNfaState 2016-04-20 13:34:57 +10:00
Justin Viiret
84daf1fc1a ng_limex_accel: delete unused DAccelScheme ctor 2016-04-20 13:34:57 +10:00
Justin Viiret
4541eaa92c report: remove dead function isInternalSomReport 2016-04-20 13:34:57 +10:00
Justin Viiret
92976c640a report: remove dead function satisfiesMinLength 2016-04-20 13:34:57 +10:00
Justin Viiret
1d85987d96 FINAL_REPORT: Add specialised instruction
Specialisation of the REPORT instruction that also terminates execution
of the program. Improves performance on programs that generate many
reports.
2016-04-20 13:34:57 +10:00
Justin Viiret
36150bbc19 Rose: replace internal_report with program
Replace the use of the internal_report structure (for reports from
engines, MPV etc) with the Rose program interpreter.

SOM processing was reworked to use a new som_operation structure that is
embedded in the appropriate instructions.
2016-04-20 13:34:57 +10:00
Matthew Barr
68851742cc Help ICC perform a not m128 2016-04-20 13:34:57 +10:00
Justin Viiret
9721262149 shufti: small C++11 fix to silence clang warning 2016-04-20 13:34:56 +10:00
Alex Coyte
41751c4f3b bitfield: unroll main operators 2016-04-20 13:34:56 +10:00
Alex Coyte
938ac9fd38 CharReach operators inline 2016-04-20 13:34:56 +10:00
Alex Coyte
ff721ed8e4 unify some accel code/structures between limex and mcclellan 2016-04-20 13:34:56 +10:00
Alex Coyte
850636dbd6 more efficent accel path discovery 2016-04-20 13:34:56 +10:00
Alex Coyte
ff82ea6d6e smallwrite: don't recompile the dfa if prune fails 2016-04-20 13:34:56 +10:00
Alex Coyte
ed3ef5b997 raise the limit of strings in double shufti 2016-04-20 13:34:56 +10:00
Alex Coyte
c0a5b037a1 allow double shufti to share buckets 2016-04-20 13:34:56 +10:00
Alex Coyte
6c7ee12bb9 make dverm more precise 2016-04-20 13:34:56 +10:00
Alex Coyte
b4727cf1ea masked version of dverm 2016-04-20 13:34:56 +10:00
Alex Coyte
89d7728f77 refactoring of double byte offset accel to use paths and add to mcclellan 2016-04-20 13:34:56 +10:00
Alex Coyte
6898dc9864 look for normal accel schemes using compressed alpha 2016-04-20 13:34:56 +10:00
Alex Coyte
f53c093baa simple offset accel for mcclellan start state 2016-04-20 13:34:56 +10:00
Alex Coyte
d125601152 dump contents of double shufti masks 2016-04-20 13:34:56 +10:00
Alex Coyte
956b86e97a move MultibyteAccelInfo to accelcompile.h 2016-04-20 13:34:56 +10:00
Justin Viiret
50885f210a exhaust: Update interface
- Only use functions in exhaust.h for valid ekeys
 - Use INVALID_EKEY everywhere (remove dupe END_EXHAUST sentinel)
2016-04-20 13:34:55 +10:00
Justin Viiret
d75cc809fe Runtime: be more careful with status bits 2016-04-20 13:34:55 +10:00
Justin Viiret
f2c0a66b6f Rose: use a multibit for the exhaustion vector
Previously, the exhaustion vector was a standard bitvector, which
required an expensive memset() call at init for databases with a large
number of exhaustion keys.
2016-04-20 13:34:55 +10:00
Justin Viiret
1fcd3cfb2c mmbit_all: True if all keys are switched on 2016-04-20 13:34:55 +10:00
Justin Viiret
5354b7a5ca mpv: fire only one report when simple-exhaustible 2016-04-20 13:34:55 +10:00
Justin Viiret
9852ac0091 mpv: use size_t for count, not u32
Small cleanup in processReportsForRange.
2016-04-20 13:34:55 +10:00
Matthew Barr
3dc8bab78f Build convenience libraries as static libs 2016-04-20 13:34:55 +10:00
Matthew Barr
088347b437 Remove unused storeu macros 2016-04-20 13:34:55 +10:00
Matthew Barr
dd4c1eceb8 Remove unused loadu2x128 2016-04-20 13:34:55 +10:00
Justin Viiret
e034ccb9b4 mmbit_iterate_bounded: make block_width u64a 2016-04-20 13:34:55 +10:00
Matthew Barr
7a6c6f46ed remove HAVE_PTHREAD_H 2016-04-20 13:34:55 +10:00
Matthew Barr
18cfd11c0f remove ENABLE_TOOLS_THREADS 2016-04-20 13:34:55 +10:00
Justin Viiret
839c90594c mcclellan: Remove the use of state numbering
McClellan and Haig only need to know which states are not participants
(i.e. unused start, startDs)
2016-04-20 13:34:55 +10:00
Justin Viiret
5dd4aa9c13 ng_find_matches: Simplify and improve performance
Improve performance by using bitsets rather than sets of vertex
indices.
2016-04-20 13:34:55 +10:00
Justin Viiret
9ae908fd11 shufticompile: Remove unused mergeShuftiMask 2016-04-20 13:34:55 +10:00
Justin Viiret
2cd28a5fa4 scratch: Remove (now unused) tctxtToScratch 2016-04-20 13:34:54 +10:00
Justin Viiret
d0aa138ada castle/repeat: fix a number of bugs
- Add fits_in_len_bytes assertions for packed stores.
  Corrects the assertion formerly on line 888.

- In exclusive mode, don't overwrite packedCtrlSize with the max of the
  group; each repeat should know how many bytes it is using, even if
  they share the same stream state.

- Ensure that exclusive mode stream state is sized correctly.
2016-04-20 13:34:54 +10:00
Matthew Barr
e10d2eb269 PrintTo functions for google test and valgrind 2016-04-20 13:34:54 +10:00
Alex Coyte
4a482b07ea UE-2919: add termination checks around handleReportInternally 2016-04-20 13:34:54 +10:00