-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Infinite range find algorithm: update transition comment for memchr optimization for ARM64 #3386
Conversation
closes microsoft#2866 Reportedly, VSO-1488938 is not reproducible. If it still is, need to update transition comment instead.
Co-authored-by: Casey Carter <cartec69@gmail.com>
Is memchr for infinite size even broken on ARM64? |
The existence of VSO-1538014 suggests as much, but I'm not certain that it's been verified. Can anyone with ready access to an ARM64 box run: #include <cstring>
#include <Windows.h>
int main() {
void* p = ::VirtualAlloc(nullptr, 65536, MEM_RESERVE, PAGE_NOACCESS);
void* p2 = ::VirtualAlloc(p, 4096, MEM_COMMIT, PAGE_READWRITE);
char* p3 = (char*)p2 + 4093;
p3[0] = '1';
p3[1] = '2';
p3[2] = '3';
std::memchr(p3, '2', 1000);
} and report back whether the program succeeds or AVs? |
that looks like an AV to me. |
As I mentioned in Discord just now, I wonder what happens with x64/ARM64EC mixing, but I think we can go ahead here. |
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
Thanks for extending the reach of this optimization! 🐇 🚀 🎉 |
Towards #2866
Reportedly, VSO-1488938 is not reproducible.