From 289658a59ccf8966bca9619f08b07ca849872348 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Tue, 7 Nov 2023 07:53:45 -0500 Subject: [PATCH] Delete hash entry as soon as it's cleared, not on next access --- src/singeli/src/search.singeli | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/singeli/src/search.singeli b/src/singeli/src/search.singeli index fa12f6c1..16ac8f57 100644 --- a/src/singeli/src/search.singeli +++ b/src/singeli/src/search.singeli @@ -469,9 +469,10 @@ fn hashtab{T, name}(rp:*rty{name}, ip:*T, m:usz, fp:*T, n:usz, links:ity{name}) if (k==h) { def {inds} = vals; def {link} = links ti := load{inds, j} - if (ti>0) { - store{inds, j, ti - load{link,ti}} - store{rp, m-ti, i} + store{rp, m-ti, i} + ti -= load{link, ti} + if (ti > 0) { + store{inds, j, ti} } else { do { jp:=j; ++j