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)
Tue, Apr 16, 10:47 PM
Unknown Object (File)
Fri, Apr 12, 7:22 AM
Unknown Object (File)
Feb 23 2024, 12:17 AM
Unknown Object (File)
Feb 3 2024, 5:15 AM
Unknown Object (File)
Jan 14 2024, 7:10 AM
Unknown Object (File)
Jan 13 2024, 4:51 PM
Unknown Object (File)
Dec 23 2023, 2:32 AM
Unknown Object (File)
Dec 14 2023, 10:10 PM
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
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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.