AuroraRuntime/Source/Threading/Primitives
Jamie Reece Wilson 3e77e61914 [*] As I said, blame clang and gcc devs for being retarded cunts.
// Even if clang (and gcc) has these intrins available, you must enable them globally, unlike see for some fucking reason.
// I mean, we can do runtime branching around SSE4 paths no problem. Why all of a sudden am i being gated out of the intrins im electing to use by hand?
// No, you (the compiler) may not use these in your baseline feature set (or incl in stl locks). Yes, i still want them. Now fuck off.
// If these end up being wrong, blame clang and gnu for being cunts, not me.

No, I will not raise our requirements above ivybridge; no, I will not expose feature macros to the STL (et al) that boosts our requirements to modern intelaviv slop and amd atomic ackers
2024-08-19 08:05:01 +01:00
..
_removed [+] New generic primitives 2023-12-29 16:12:14 +00:00
AuConditionEx.cpp [*] Refactor ConditionEx -> IFlexibleConditionVariable 2024-08-08 20:21:03 +01:00
AuConditionEx.hpp [*] Refactoring in progress... 2022-11-17 08:03:20 +00:00
AuConditionMutex.Generic.cpp [*] Optimize primitives SMTYield for Alderlake+ user-space, BIOS-ring mwait, and AARCH 2024-05-03 12:22:38 +01:00
AuConditionMutex.Generic.hpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuConditionMutex.Linux.cpp [*] Optimize primitives SMTYield for Alderlake+ user-space, BIOS-ring mwait, and AARCH 2024-05-03 12:22:38 +01:00
AuConditionMutex.Linux.hpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuConditionMutex.NT.cpp [*] Optimize primitives SMTYield for Alderlake+ user-space, BIOS-ring mwait, and AARCH 2024-05-03 12:22:38 +01:00
AuConditionMutex.NT.hpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuConditionVariable.Generic.cpp [*] Optimize primitives SMTYield for Alderlake+ user-space, BIOS-ring mwait, and AARCH 2024-05-03 12:22:38 +01:00
AuConditionVariable.Generic.hpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuConditionVariable.Linux.cpp [*] Optimize primitives SMTYield for Alderlake+ user-space, BIOS-ring mwait, and AARCH 2024-05-03 12:22:38 +01:00
AuConditionVariable.Linux.hpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuConditionVariable.NT.cpp [*] Optimize primitives SMTYield for Alderlake+ user-space, BIOS-ring mwait, and AARCH 2024-05-03 12:22:38 +01:00
AuConditionVariable.NT.hpp [*] c111dee8 cont. Simplification of if (SignalSpuriously()) AddWatcher() continued 2024-02-14 01:03:14 +00:00
AuCriticalSection.cpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuCriticalSection.hpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuEvent.cpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuEvent.hpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuIConditionMutexEx.hpp [*] Refactoring in progress... 2022-11-17 08:03:20 +00:00
AuMutex.Generic.cpp [*] Optimize primitives SMTYield for Alderlake+ user-space, BIOS-ring mwait, and AARCH 2024-05-03 12:22:38 +01:00
AuMutex.Generic.hpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuMutex.Linux.cpp [*] Optimize primitives SMTYield for Alderlake+ user-space, BIOS-ring mwait, and AARCH 2024-05-03 12:22:38 +01:00
AuMutex.Linux.hpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuMutex.NT.cpp [*] Optimize primitives SMTYield for Alderlake+ user-space, BIOS-ring mwait, and AARCH 2024-05-03 12:22:38 +01:00
AuMutex.NT.hpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuRWLock.cpp [*] Linux build regressions, and shrink the size of Linux RWLocks to 48 bytes from 64 2024-05-07 14:57:19 +01:00
AuRWLock.hpp [*] Linux build regressions, and shrink the size of Linux RWLocks to 48 bytes from 64 2024-05-07 14:57:19 +01:00
AuSemaphore.Generic.cpp [*] Optimize primitives SMTYield for Alderlake+ user-space, BIOS-ring mwait, and AARCH 2024-05-03 12:22:38 +01:00
AuSemaphore.Generic.hpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuSemaphore.Linux.cpp [*] Optimize primitives SMTYield for Alderlake+ user-space, BIOS-ring mwait, and AARCH 2024-05-03 12:22:38 +01:00
AuSemaphore.Linux.hpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuSemaphore.NT.cpp [*] Optimize primitives SMTYield for Alderlake+ user-space, BIOS-ring mwait, and AARCH 2024-05-03 12:22:38 +01:00
AuSemaphore.NT.hpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuSpinLock.cpp [*] After 2 or 3 years, redo the spinlock 2024-05-07 16:46:12 +01:00
AuSpinLock.hpp [*] Refactoring in progress... 2022-11-17 08:03:20 +00:00
AuWoASemaphore.hpp [*] Amend 4fcdc798 WoA configuration 2024-01-23 18:21:10 +00:00
AuWoASemaphore.Unix.cpp [*] Update the copyright header of most of the primitives 2024-01-29 14:48:04 +00:00
AuWoASemaphore.Unix.hpp [*] Ensure these fallback primitives can be accessed by -> operator 2024-03-27 03:19:18 +00:00
SMTYield.cpp [+] Zen3 on top of AlderLake optimizations 2024-05-05 19:42:10 +01:00
SMTYield.hpp [*] As I said, blame clang and gcc devs for being retarded cunts. 2024-08-19 08:05:01 +01:00
ThreadCookie.cpp [*] [Pre-Win8.1] Optimize for modern nt instead of windows vista synch in legacy path; yes, this is how windows 7 and vista synch is somewhat implemented. 2023-03-15 00:35:29 +00:00
ThreadCookie.hpp [*] Linux build regressions, and shrink the size of Linux RWLocks to 48 bytes from 64 2024-05-07 14:57:19 +01:00
ThreadCookie.x64.NT.asm [*] Cleanup optimization commit 2023-03-15 00:48:37 +00:00