Adopted lfsr_rbyd_lookupwide, dropped wide bit in lookups

This trades a runtime check for a different function call. Enforcing
some minor semantics in the function's type/asserts.

This also makes it so there are no special tag bits used during rbyds
lookup, only rbyd commits.

In theory this saves a bit of code, we don't have a runtime check, but
in practice the extra function apparently outweighs the cost of the
runtime check:

            code          stack
  before:  31956           2880
  after:   32024 (+0.2%)   2880 (+0.0%)
This commit is contained in:
Christopher Haster
2023-12-14 12:24:32 -06:00
parent 3e45fc739d
commit 02d2919130
3 changed files with 86 additions and 61 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ code = '''
static lfs_ssize_t lfsr_mdir_get(lfs_t *lfs, const lfsr_mdir_t *mdir,
lfs_ssize_t rid, lfsr_tag_t tag, void *buffer, lfs_size_t size) {
lfsr_data_t data;
int err = lfsr_mdir_lookup(lfs, mdir, rid, tag, NULL, &data);
int err = lfsr_mdir_lookup(lfs, mdir, rid, tag, &data);
if (err) {
return err;
}