From 2abc038f1cb5f4449795e541153f601dbc78a462 Mon Sep 17 00:00:00 2001 From: Justin Viiret Date: Mon, 4 Jan 2016 13:46:51 +1100 Subject: [PATCH] roseCatchUpLeftfixes: iter state on stack --- src/rose/stream.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/rose/stream.c b/src/rose/stream.c index 4096c356..ab23346a 100644 --- a/src/rose/stream.c +++ b/src/rose/stream.c @@ -342,12 +342,13 @@ void roseCatchUpLeftfixes(const struct RoseEngine *t, u8 *state, const u32 arCount = t->activeLeftCount; const struct LeftNfaInfo *left_table = getLeftTable(t); const struct mmbit_sparse_iter *it = getActiveLeftIter(t); - struct mmbit_sparse_state *s = scratch->sparse_iter_state; + + struct mmbit_sparse_state si_state[MAX_SPARSE_ITER_STATES]; u32 idx = 0; - u32 ri = mmbit_sparse_iter_begin(ara, arCount, &idx, it, s); + u32 ri = mmbit_sparse_iter_begin(ara, arCount, &idx, it, si_state); for (; ri != MMB_INVALID; - ri = mmbit_sparse_iter_next(ara, arCount, ri, &idx, it, s)) { + ri = mmbit_sparse_iter_next(ara, arCount, ri, &idx, it, si_state)) { const struct LeftNfaInfo *left = left_table + ri; u32 qi = ri + t->leftfixBeginQueue; DEBUG_PRINTF("leftfix %u of %u, maxLag=%u, infix=%d\n", ri, arCount,