mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-09-29 19:24:25 +03:00
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.
This commit is contained in:
committed by
Matthew Barr
parent
eb7759361d
commit
ef99ae108f
@@ -311,8 +311,7 @@ void mergeCluster(RoseGraph &g, const ReportManager &rm,
|
||||
it = it2;
|
||||
|
||||
DEBUG_PRINTF("merging cluster %zu\n", cluster.size());
|
||||
map<NGHolder *, NGHolder *> merged;
|
||||
mergeNfaCluster(cluster, &rm, merged, cc);
|
||||
auto merged = mergeNfaCluster(cluster, &rm, cc);
|
||||
DEBUG_PRINTF("done\n");
|
||||
|
||||
for (const auto &m : merged) {
|
||||
@@ -2414,7 +2413,8 @@ map<NGHolder *, NGHolder *> chunkedNfaMerge(RoseBuildImpl &build,
|
||||
batch.push_back(*it);
|
||||
assert((*it)->kind == NFA_OUTFIX);
|
||||
if (batch.size() == MERGE_GROUP_SIZE_MAX || next(it) == ite) {
|
||||
mergeNfaCluster(batch, &build.rm, merged, build.cc);
|
||||
auto batch_merged = mergeNfaCluster(batch, &build.rm, build.cc);
|
||||
insert(&merged, batch_merged);
|
||||
batch.clear();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user