rattrs: Reverted implicit lfs3_path_namelen in LFS3_FROM_NAME
I don't think there was anything inherently wrong with this idea, but:
- The code savings (28 bytes) was surprisingly small.
- Expecting lfs3_path_namelen may be a headache for future
non-null-terminated string support.
- Even if you don't care about non-null-terminated strings, precomputing
strlen as early as possible is a good idea to minimize repeated strlen
scans.
Reverting adds a bit of code:
code stack ctx
before: 35288 2176 660
after: 35316 (+0.1%) 2176 (+0.0%) 660 (+0.0%)
code stack ctx
gbmap before: 38140 2192 772
gbmap after: 38168 (+0.1%) 2192 (+0.0%) 772 (+0.0%)
This commit is contained in:
+18
-9
@@ -1301,10 +1301,11 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
@@ -1389,10 +1390,11 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
@@ -1496,10 +1498,11 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
@@ -1606,10 +1609,11 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
@@ -1716,19 +1720,21 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
path = "c";
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
@@ -1835,10 +1841,11 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
@@ -1945,10 +1952,11 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
@@ -2055,10 +2063,11 @@ code = '''
|
||||
lfs3_mtree_pathlookup(&lfs3, &path,
|
||||
&mdir, &did) => LFS3_TAG_REG;
|
||||
lfs3_mdir_commit(&lfs3, &mdir, LFS3_RATTRS(
|
||||
LFS3_RATTR(3, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_RATTR(4, LFS3_tag_MASK8 | (LFS3_TAG_NAME + 0x13), 0,
|
||||
LFS3_FROM_NAME),
|
||||
LFS3_RATTR_ARG(did),
|
||||
LFS3_RATTR_ARG(path),
|
||||
LFS3_RATTR_ARG(lfs3_path_namelen(path)),
|
||||
LFS3_RATTR_NULL)) => 0;
|
||||
lfs3_unmount(&lfs3) => 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user