de85bfc508
It seems two of the file system drivers we have in the tree, namely ufs and ext3, use a function called `skpc()'. The meaning of this function does not seem to be documented in FreeBSD, but it turns out one needs to be a VAX programmer to understand what it does. SPKC is an instruction on the VAX that does the opposite of memchr(). It searches for the non-equal character. Add a new function called memcchr() to the tree that has the following advantages over skpc(): - It has a name that makes more sense than skpc(). Just like strcspn() matches the complement of strspn(), memcchr() is the complement of memchr(). - It is faster than skpc(). Similar to our strlen() in libc, it compares entire words, instead of single bytes. It seems that for this routine this yields a sixfold performance increase on amd64. - It has a man page. |
||
---|---|---|
.. | ||
arm | ||
ia64 | ||
arc4random.c | ||
ashldi3.c | ||
ashrdi3.c | ||
bcd.c | ||
bcmp.c | ||
bsearch.c | ||
cmpdi2.c | ||
crc32.c | ||
divdi3.c | ||
ffs.c | ||
ffsl.c | ||
fls.c | ||
flsl.c | ||
fnmatch.c | ||
iconv_converter_if.m | ||
iconv_ucs.c | ||
iconv_xlat16.c | ||
iconv_xlat.c | ||
iconv.c | ||
index.c | ||
inet_aton.c | ||
inet_ntoa.c | ||
inet_ntop.c | ||
inet_pton.c | ||
jenkins.h | ||
lshrdi3.c | ||
mcount.c | ||
memcchr.c | ||
memchr.c | ||
memcmp.c | ||
memmove.c | ||
memset.c | ||
moddi3.c | ||
qdivrem.c | ||
qsort_r.c | ||
qsort.c | ||
quad.h | ||
random.c | ||
rindex.c | ||
scanc.c | ||
skpc.c | ||
strcasecmp.c | ||
strcat.c | ||
strcmp.c | ||
strcpy.c | ||
strcspn.c | ||
strdup.c | ||
strlcat.c | ||
strlcpy.c | ||
strlen.c | ||
strncmp.c | ||
strncpy.c | ||
strnlen.c | ||
strsep.c | ||
strspn.c | ||
strstr.c | ||
strtol.c | ||
strtoq.c | ||
strtoul.c | ||
strtouq.c | ||
strvalid.c | ||
ucmpdi2.c | ||
udivdi3.c | ||
umoddi3.c |