0c5d140bd4
[*] Autoset bPlatformIsSMPProcessorOptimized to false on singlethreaded systems
2023-08-23 16:03:22 +01:00
d79cb4f3ca
[*] RWLock: WakeOnAddress optimization on wait to prevent mutex congestion on modern OSes
2023-08-23 15:37:55 +01:00
30fc75cbab
[*] Clang 15 build regression: AuList<T> before T definition
2023-08-22 20:17:57 +01:00
a4d317a48d
[*] Reoptimize semaphore wait paths
2023-08-22 15:28:09 +01:00
03a3532a20
[+] Option macro: AURORA_RUNTIME_FORCE_ADAPTIVE_FUTEX
2023-08-22 13:58:17 +01:00
d25e6ef7f3
[*] zoomzoom
2023-08-22 13:15:45 +01:00
7ad725ca04
[+] Global adaptive spin
2023-08-22 13:01:06 +01:00
ccfd0fafab
[*] Why must all languages be garbage at expressing life-span of constness?
...
This is const-correct, as in, we don't expect to modify the pointer; you dont need to be a writer
This was const-correct, as in, this field better be a volatile block of memory you expect to update - plz dont to any retarded assumptions based on it being "const," compiler.
2023-08-22 11:08:56 +01:00
3747fb7c6f
[+] ThreadingConfig::uUWPNanosecondEmulationMaxYields
...
[+] ThreadingConfig::bUWPNanosecondEmulationCheckFirst
2023-08-22 09:56:32 +01:00
cf363b9f5b
[*] Ensure this never throws
2023-08-22 09:45:32 +01:00
76ac770674
[*] Update a handful of condvar cas's and account for laziness along the way
2023-08-22 09:44:54 +01:00
cd362db7af
[*] Deaf, dumb, and blind
2023-08-21 19:20:52 +01:00
fa170c413d
[*] More compact Linux primitives
2023-08-21 19:17:05 +01:00
e8f445c463
[*] Linux build regression / AuProcesses API change
2023-08-21 17:48:48 +01:00
5cc811be19
[*] More compact Win32 primitives!
2023-08-21 17:34:24 +01:00
869512e651
[*] Optimization: Remove two stupid branches in RWLock
2023-08-21 16:33:32 +01:00
f847ab049a
[+] ThreadingConfig::bPreferRWLockReadLockSpin
2023-08-21 16:25:51 +01:00
e1f384de2e
[*] RWLock: improper upgrade handshake
...
The switch over to two condvars still doesnt seem right
2023-08-21 16:20:52 +01:00
681c4b9158
[*] RWLock: revert this branch to checking for 0 and 1 remaining readers
...
[*] Formatting
2023-08-21 16:08:30 +01:00
e2909ebe74
[*] RWLock: Upgrade UpgradeReadToWrite sleep path
2023-08-21 16:02:55 +01:00
68b4fe5f8b
[*] RWLock: not implementing LockAbsMS and LockAbsNS can hurt the hotpath
2023-08-21 15:50:45 +01:00
d1b1bfb221
[*] Caught an issue with RWLock: cant reenter unlocked reentrance mutex.
2023-08-21 15:39:56 +01:00
631ffab1a2
[*] stupid formatting crash
2023-08-21 15:32:22 +01:00
a60a1b3088
[*] dont assume these condvar paths cant underflow
2023-08-21 00:25:29 +01:00
3fe2d15a2f
[+] AuProcesses::StartupParameters::environmentVariables
...
[+] AuProcesses::StartupParameters::bInheritEnvironmentVariables
[+] AuProcesses::StartupParameters::handleOutStream
[+] AuProcesses::StartupParameters::handleErrorStream
[+] AuProcesses::StartupParameters::handleInputStream
[+] AuProcesses::StartupParameters::optAffinity
2023-08-20 23:58:32 +01:00
58302586a9
[*] Minor optimizations: AuThreading::Waitable::Futex*
2023-08-20 17:11:50 +01:00
b8d4e02ab5
[+] Aurora::Threading::GetThreadingConfig
...
[+] Aurora::Threading::SetThreadingConfig
[*] Save a few bytes in Aurora::ThreadingConfig
2023-08-20 16:23:03 +01:00
2a82e406a3
[+] AuBinarySemaphore (shorthand)
2023-08-20 14:43:00 +01:00
08f30017b8
[*] regression: b236469d06
cont
2023-08-20 13:41:53 +01:00
0927d51a53
[-] Deprecation of Aurora::Threading::Waitables
2023-08-20 13:35:50 +01:00
71617ca66e
[*] Format SMT spin
2023-08-20 09:50:41 +01:00
f1a08d25e7
[+] AuUInt32 GetTotalSpinCountTimeout()
...
[*] Fixup FutexWaitable
2023-08-20 09:47:31 +01:00
2d2d66f410
[*] FutexCondWaitable infinite sleep fix
2023-08-19 22:29:09 +01:00
202df79d0b
[+] (shorthand) AuCondEx
2023-08-19 22:27:26 +01:00
7ce89a143f
[+] FutexCondWaitable
...
[+] (shorthand) AuMutex
[+] (shorthand) AuSemaphore
[+] (shorthand) AuRWRenterableLock
[+] (shorthand) AuRenterableMutex
[+] (shorthand) AuRWLock
[+] (shorthand) AuCond
[+] (shorthand) AuCondMutex
[+] (shorthand) AuSpinLock
[+] (shorthand) AuFutexCond
2023-08-19 22:25:31 +01:00
fd643b81ce
[+] AuFutexMutex
...
[+] AuFutexSemaphore
(...aliases)
2023-08-19 20:39:13 +01:00
b236469d06
[*] Made WakeOnAddress trigger pointers always const
2023-08-19 20:37:24 +01:00
412cdfb28b
[+] FutexSemaphoreWaitable
2023-08-19 20:36:57 +01:00
0b2abc49fb
[+] A small header only futex
2023-08-19 20:09:32 +01:00
2fae266876
[*] Fix WakeOnAddress constness of the comparison argument
2023-08-19 19:48:24 +01:00
fa34f7dcef
[*] Regression in 262d76dd
2023-08-19 19:04:30 +01:00
8874fd9810
[*] Cache Win8+ check
2023-08-19 18:49:16 +01:00
19224d2eed
[*] Default back to zero. Do not throw off other threads if only used once
2023-08-19 18:39:13 +01:00
ab4971ef9c
[+] Linux threading options
2023-08-19 18:33:54 +01:00
8bf6bdd963
[+] More threading options
...
[+] AuThreading::SetSpinCountTimeout
[+] AuThreading::SetThreadLocalAdditionalSpinCountTimeout
2023-08-19 18:16:48 +01:00
e6bf022bef
[*] Atomic SOCK_CLOEXEC-awareness on some UNIX systems
2023-08-19 15:06:59 +01:00
ef4dc9bc18
[*] Alternative panic path for older Win32 targets
2023-08-19 13:30:44 +01:00
7fb8b89def
[*] Some unwanted indirect branching is still bleeding in; mark more primitive classes as final
2023-08-19 11:41:37 +01:00
92ebafecab
[*] Suppress a number of antisemitic clang warnings
2023-08-18 23:32:46 +01:00
ad5bbee6b2
[*] Linux: optimize futex wrappers
2023-08-18 22:51:47 +01:00