Page MenuHomeFreeBSD

libc/string/memset.c: Use unsigned long for stores
ClosedPublic

Authored by arichardson on Apr 1 2021, 2:38 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Nov 9, 3:19 PM
Unknown Object (File)
Sat, Nov 8, 4:25 AM
Unknown Object (File)
Tue, Nov 4, 4:37 PM
Unknown Object (File)
Sat, Nov 1, 9:47 PM
Unknown Object (File)
Fri, Oct 31, 2:37 PM
Unknown Object (File)
Sat, Oct 25, 2:53 PM
Unknown Object (File)
Mon, Oct 20, 2:12 AM
Unknown Object (File)
Wed, Oct 15, 2:55 AM
Subscribers

Details

Summary

While most 64-bit architectures have an assembly implementation of this
file, RISC-V does not. As we now store 8 bytes instead of 4 it should speed
up RISC-V.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 38682
Build 35571: arc lint + arc unit

Event Timeline

Would (u)intptr_t make more sense so it's faster on CHERI? Doesn't make a difference upstream but does to us.

Would (u)intptr_t make more sense so it's faster on CHERI? Doesn't make a difference upstream but does to us.

I thought about that, but that would require additional changes to create an all-ones capability register.

Would (u)intptr_t make more sense so it's faster on CHERI? Doesn't make a difference upstream but does to us.

I thought about that, but that would require additional changes to create an all-ones capability register.

Oh, right, memset not bzero, never mind then

kib added inline comments.
lib/libc/string/memset.c
91

Did you considered lowering 3 to e.g. 2?

This revision is now accepted and ready to land.Apr 15 2021, 11:34 AM
lib/libc/string/memset.c
91

This might make sense but I feel uncomfortable making that change without benchmarks.

Drop #undef and add a TODO comment for the threshold

This revision now requires review to proceed.Apr 19 2021, 10:50 AM
This revision was not accepted when it landed; it landed in state Needs Review.Apr 20 2021, 12:47 AM
This revision was automatically updated to reflect the committed changes.