From 8e6b249838e5442716edee2bd1d0545fdc497d5a Mon Sep 17 00:00:00 2001 From: York Jasper Niebuhr Date: Tue, 14 Apr 2026 22:40:23 +0200 Subject: [PATCH] Randomizer improvement notes --- selfpatch/src/spslr_randomizer.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/selfpatch/src/spslr_randomizer.c b/selfpatch/src/spslr_randomizer.c index e31d976..9be184f 100644 --- a/selfpatch/src/spslr_randomizer.c +++ b/selfpatch/src/spslr_randomizer.c @@ -238,6 +238,10 @@ static int __init pick_shuffle_option(spslr_u32 target, spslr_u32 origin_final_i const struct spslr_target* t = &spslr_targets[target]; spslr_u32 seen = 0; + /* + Note: Instead of looping over entire field array for each option, loops can be merged into one. + */ + for (spslr_u32 offset = 0; offset < t->size; offset += alignment) { if (!option_is_valid(target, origin_final_idx, origin, offset)) continue; @@ -331,6 +335,9 @@ static void __init do_swap(spslr_u32 target, spslr_u32 origin_idx, } } +/* +Note: final version should not shuffle random fields but try to shuffle each original field idx once +*/ static void __init shuffle_one_target(spslr_u32 target) { const struct spslr_target* t = &spslr_targets[target]; if (t->fieldcnt == 0)