mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
Don't look for accel friends for multibyte acceleration
This commit is contained in:
parent
755e6700c1
commit
843ca0e7cc
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, Intel Corporation
|
* Copyright (c) 2015-2016, Intel Corporation
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
@ -662,14 +662,17 @@ void doAccelCommon(NGHolder &g,
|
|||||||
state_set.reset();
|
state_set.reset();
|
||||||
state_set.set(state_id);
|
state_set.set(state_id);
|
||||||
|
|
||||||
|
bool is_multi = false;
|
||||||
auto p_it = accel->precalc.find(state_set);
|
auto p_it = accel->precalc.find(state_set);
|
||||||
if (p_it != accel->precalc.end()) {
|
if (p_it != accel->precalc.end()) {
|
||||||
const precalcAccel &pa = p_it->second;
|
const precalcAccel &pa = p_it->second;
|
||||||
offset = max(pa.double_offset, pa.single_offset);
|
offset = max(pa.double_offset, pa.single_offset);
|
||||||
|
is_multi = pa.ma_info.type != MultibyteAccelInfo::MAT_NONE;
|
||||||
assert(offset <= MAX_ACCEL_DEPTH);
|
assert(offset <= MAX_ACCEL_DEPTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
accel->accelerable.insert(v);
|
accel->accelerable.insert(v);
|
||||||
|
if (!is_multi)
|
||||||
findAccelFriends(g, v, br_cyclic, offset, &accel->friends[v]);
|
findAccelFriends(g, v, br_cyclic, offset, &accel->friends[v]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user