MCSHENG64: extend to 64-state based on mcsheng

This commit is contained in:
Zhu,Wenjun
2020-09-08 14:59:33 +00:00
committed by Konstantinos Margaritis
parent dea7c4dc2e
commit d96f1ab505
15 changed files with 2334 additions and 15 deletions

View File

@@ -632,6 +632,7 @@ bytecode_ptr<NFA> getDfa(raw_dfa &rdfa, bool is_transient,
* bytecode and that they are usually run on small blocks */
dfa = mcshengCompile(rdfa, cc, rm);
}
#if defined(HAVE_AVX512VBMI)
if (!dfa) {
dfa = sheng32Compile(rdfa, cc, rm, false);
@@ -639,6 +640,9 @@ bytecode_ptr<NFA> getDfa(raw_dfa &rdfa, bool is_transient,
if (!dfa) {
dfa = sheng64Compile(rdfa, cc, rm, false);
}
if (!dfa && !is_transient) {
dfa = mcshengCompile64(rdfa, cc, rm);
}
#endif
if (!dfa) {
// Sheng wasn't successful, so unleash McClellan!