From 00a2332417bdacf7bee1bfa6ed3048200f8479d2 Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Sun, 14 Apr 2024 22:57:59 -0500 Subject: [PATCH] rbyd-rr: Tweaked both-diverged trimming to not pop This adds some code: code stack before: 34224 2864 after: 34244 (+0.1%) 2864 (+0.0%) code frame stack appendattr before: 2190 216 568 appendattr after: 2232 (+1.9%) 216 (+0.0%) 568 (+0.0%) But makes it so both diverged-trimming cases end up with a zero weight unreachable alt, which may lead to more simplification... --- lfs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lfs.c b/lfs.c index ea0abc2b..89b6f458 100644 --- a/lfs.c +++ b/lfs.c @@ -2919,9 +2919,9 @@ trunk:; lfs_swap32(&jump, &branch_); } - weight += p[0].weight; - jump = p[0].jump; - lfsr_p_pop(p); + p[0].alt = alt | LFSR_TAG_R; + p[0].weight += weight; + weight = 0; // one diverged? trim so alt is pruned } else {