Commit Graph

885 Commits

Author SHA1 Message Date
4a5cb3c168 [*] oops 2023-07-28 08:55:19 +01:00
73548b00d7 [*] Refactor: added missing opt reference in member 2023-07-28 08:10:08 +01:00
2ce69049d9 [*] uQuality brotli fix 2023-07-28 07:44:16 +01:00
ff0fbed560 [*] whatever 2023-07-27 23:00:11 +01:00
3d9ad0350e [*] now brotli maps uWindowBits to BROTLI_PARAM_LGWIN
[+] CompressInfo::uQuality
2023-07-27 22:55:28 +01:00
3db5554673 [+] brotli now respects CompressInfo::uCompressionLevel
[+] brotli now respects CompressInfo::uBlockSize
[*] refactored CompressInfo::uLz4BlockSize -> CompressInfo::uBlockSize
[*] zstd decompressor now respects user arguments
[*] zstd compressor now respects user arguments
[*] brotli decompressor now respects user arguments
[*] brotli compressor now respects user arguments
2023-07-27 20:45:49 +01:00
c084f18c62 [*] Resolve one stated Windows 7 defect 2023-07-27 19:55:41 +01:00
5dddc9d0d8 [*] Qt: More LoopQueue NT fun 2023-07-27 19:06:09 +01:00
2b777f1e38 [+] IIOProcessor::ConfigureNoDeferredTicks (hack for Qt modals) 2023-07-27 16:31:47 +01:00
b411c710d1 [+] IConditionVariable::WaitForSignalNS 2023-07-25 15:59:04 +01:00
76262c2e3e [*] Trivial Win8+ condvar broadcast improvement (pragmatism) 2023-07-25 15:28:02 +01:00
1a383f8157 [*] Two annoying formatting issues in RWLock 2023-07-25 12:57:47 +01:00
66cfbb5351 [+] FlexibleConditionVariable::WaitForSignalRelativeNanoseconds(AuUInt64 uRelativeNanoseconds)
[+] FlexibleConditionVariable::WaitForSignalRelativeNanoseconds(Threading::IWaitable *pWaitable, AuUInt64 uRelativeNanoseconds)
[+] FlexibleConditionVariable::WaitForSignalRelativeNanoseconds(AuUInt64 uRelativeNanoseconds)
[*] Refactor FlexibleConditionVariable
2023-07-25 12:38:49 +01:00
dab6e9caee [*] Refactor: FeaturefulCondition -> FlexibleConditionVariable
[+] SOO for FlexibleConditionVariable
2023-07-25 12:27:08 +01:00
daf6108902 [*] Removed retarded code inspired by late 90s - 2003 Microsoft Andy-IQ engineering
This was bothering my autism
2023-07-25 11:57:22 +01:00
b48966a39e [*] Caught uninitialized member 2023-07-25 02:12:19 +01:00
d45dc977d8 [*] NT: Further reduce Win32 link-time requirements cont (1948dd0c) 2023-07-24 12:48:42 +01:00
1948dd0c1a [*] Further reduce Win32 link-time requirements 2023-07-24 07:17:08 +01:00
f919452bc4 [*] (654cc8fe cont) Win XP -> 8: CpuInfo::maskAllCores fix 2023-07-14 18:30:21 +01:00
788dde684b [*] Windows Vista, UWP, and Windows 11: Move Windows 7 and 8 SetThreadGroupAffinity symbol from the IAT to AuProcAddresses.NT.[c/h]pps object
[*] Update the READMEs support table
2023-07-14 16:33:26 +01:00
654cc8fe04 [*] Win XP -> 8: CpuInfo::pCoreTopology fix 2023-07-13 23:23:28 +01:00
c4806f8e81 [*] This was bothering my autism for a while and I need to rebuild anyway. 2023-07-13 20:00:28 +01:00
8a4fc0d9c3 [*] Amend runtime config typo: Prefer*
[-] Redundant AuTime header (ExtendedTimer.hpp)
2023-07-13 19:50:18 +01:00
115ee1a9ec [*] Improve time based RNG failover implementation 2023-07-13 05:58:53 +01:00
29226b8134 [*] Never rely on the CRT for clean-up if an API user requests us to exit 2023-07-11 21:01:23 +01:00
adefbbe16b [*] Harden time based RNG
[*] RNG needs specific optimal paths for Win10 and older oses
[+] Internal RtlGenRandom
2023-07-11 18:02:40 +01:00
655f1839c5 [+] Internal void Aurora::Win32Terminate()
[+] Global NT-like Aurora::gUseFastFail
2023-07-11 15:21:55 +01:00
c0388144d0 [*] Amend win 10+ ecore awareness (d192e2529f) 2023-07-11 01:48:51 +01:00
8bf351e007 [*] NT Win8+ fix: improper condvar wake up
[*] Fix kThreadIdAny regression
2023-07-11 00:54:54 +01:00
d6739f5196 [*] Amend process creation time. I did a dumb. (bdec6ff8) 2023-07-10 21:43:08 +01:00
66b948697b [+] Missing x509 members
[*] Added POSIX-like rng fd close on deinit
[*] Added verbose arg checks for unix env vars
2023-07-10 20:58:12 +01:00
c90a13ad95 [*] Minor NT optimization: move branch 2023-07-10 20:06:18 +01:00
bdec6ff8ba [+] AuProcess::EnvironmentGetAll
[+] AuProcess::EnvironmentGetOne
[+] AuProcess::EnvironmentSetOne
[+] AuProcess::EnvironmentRemoveOne
[+] AuProcess::EnvironmentRemoveMany
[+] AuProcess::EnvironmentSetMany
[+] AuProcess::GetProcessStartupTimeNS
[+] AuProcess::GetProcessStartupTimeMS
[*] Note WakeOnAddress on all platforms
[*] Updated READMEs
2023-07-10 17:00:42 +01:00
a977f0d1b5 [*] NT: backport unix optimization - no spin during spurious wake up 2023-07-10 13:12:17 +01:00
536522743a [*] Move this branch in NTs condvar 2023-07-10 12:31:06 +01:00
8c84ecf892 [*] Win8+: Experimental primitive improvements by taking notes from Win7 cycle pinching
[*] +regression in condvar
2023-07-10 01:13:55 +01:00
355f7db711 [*] Forgot to reintroduce these: 75b71275 (cont) 2023-07-09 22:34:31 +01:00
3e13bd17f7 [*] Clean up Runtime config
[*] Refactor DirectoryLogger
2023-07-09 21:21:49 +01:00
75b71275e7 [*] Made past and present NT condvar optional spin steps configurable via the runtime config 2023-07-09 20:52:31 +01:00
9a27f3d44b [*] Lower idle CPU usage (idle utilization regression) 2023-07-09 18:49:15 +01:00
03dbfeefe1 [*] Enhance Windows 7 scheduling resolution 2023-07-09 12:56:35 +01:00
8a853a7a4a [*] Whoops 2023-07-09 12:11:38 +01:00
14d60ee2d0 [*] Wanna drop threaten to drop older APIs from the Windows Runtime? Alright, we're being pushed towards Windows XP support by accident. 2023-07-09 11:26:41 +01:00
8c5a706dc6 [*] Reintroduce regressed branch; missing indirect branch validation before call 2023-07-09 11:02:35 +01:00
627bdddfdc [*] Ensure AuProcAddresses.NT.* is used for all dynamically linked symbols 2023-07-09 10:03:29 +01:00
d192e2529f [*] Move GetSystemCpuSetInformation to AuProcAddresses.NT.cpp
[*] Fixed e-core awareness under modern nt targets
2023-07-09 10:02:21 +01:00
a0794a2cc9 [*] Caught early deinit crash 2023-07-07 19:39:28 +01:00
5f9fcce0a1 [*] fixed logic in dirlogarchive
todo: get around to improving dirlogarchive
2023-07-06 21:27:47 +01:00
72c38548c0 [*] Fix DirLogArchive suffixes 2023-07-06 21:13:01 +01:00
4d1201a4c1 [+] EStreamForward::eNewConsoleWindow
[*] NT: Improve the selection of flags used when spawning processes
[*] NT: Caught regression in NTs FS/generic transaction IsSignaled
2023-07-06 13:44:32 +01:00
62b41ff93e [*] Further deprecate the "high res" clock
(might introduce a fast low res clock, tbd)
2023-07-06 10:17:22 +01:00
94e2f7924e [-] More redundant code from WakeOnAddress 2023-07-06 09:47:46 +01:00
b90feae7d0 [-] Remove preemptive POSIX optimization
This'll just get in the way of Linux optimizations for the sake of trying to hit the correct yield period without a spurious wake up - all in one shot.
2023-07-06 09:41:09 +01:00
e2758ea243 [-] Remove unused code from WakeOnAddress 2023-07-06 09:37:58 +01:00
99e8c68c62 [*] Update a Win8+ sync branch; can back out earlier 2023-07-05 19:32:01 +01:00
e2accb900b [*] Begin work around for use after thread-local free; WaitOnAddress emulation 2023-07-05 18:25:07 +01:00
2d06725b8b [*] Amend compression/decompression error checking; ensure correct library specific OK value is used
[*] Amend LZMA flushing
2023-07-05 17:06:30 +01:00
00cb256f06 [+] Reintroduce LZMA support after dropping support for the compression algorithm during the initial rewrite 2023-07-05 13:56:08 +01:00
e9e72dce09 [+] UDP-as-sockets send channel 2023-07-04 15:17:00 +01:00
9fcee7041e [*] Amended Win7 fast fail path 2023-07-03 19:40:38 +01:00
677a845614 [*] amend a7730ed8 2023-06-30 15:42:50 +01:00
ca2c0462ab [*] Continue to refactor allocations of synchronization primitive away
[*] NT: Fix missing CoTaskMemFree leak on startup
[*] Fix ConsoleStd restart bug
2023-06-28 10:33:12 +01:00
3563ece47b [*] Improve non-fatal exception handling 2023-06-28 04:48:25 +01:00
894df69fe0 [*] remove redundant branch from sync primitive
[*] optimize event
2023-06-28 02:24:53 +01:00
1265027550 [*] Cap ConsoleTTY buffer to 10k entries 2023-06-27 12:40:47 +01:00
a454a2d71e [*] Sync primitive improvements
[*] Reverted a change for UNIX: always never-spin acquire under observational lock
[*] Decreased common case of syscall operations under Linux and UNIX
[*] Unix signaling: prevent waits while during condvar wake up by unlocking before the signal
[*] NT no wait: semaphores must not spin under lock
2023-06-26 08:59:49 +01:00
09295e57f8 [*] TODO: sort out async run modes 2023-06-26 08:11:45 +01:00
a7730ed8ee [*] Win32: improve reporting of critical exceptions 2023-06-24 21:21:11 +01:00
752d67c0ff [*] Save/crash using this path 2023-06-24 21:10:14 +01:00
5fa8720c9b [-] Win32: Unlink Wer.lib.
Write to the registry instead.
2023-06-24 21:01:57 +01:00
07720f0379 [*] minor win32 exception handling improvements
(80faead5, ce424388 cont)
2023-06-24 20:43:32 +01:00
4c72a20ba2 [*] Win32: required to prevent leaks when invoked by Qt (todo: proper journaling of pending actions) 2023-06-24 17:41:09 +01:00
80faead53f [*] Win32: fix regression in error handling (after: ce424388 ?) 2023-06-24 13:53:32 +01:00
1783202384 [*] ConsoleTTY QOL 2023-06-24 04:47:06 +01:00
fa90463a73 [*] im not sure why this was written like this 2023-06-23 22:36:13 +01:00
0d05fd3d33 [*] Minor mostly unnoticeable primitive improvements 2023-06-23 21:37:04 +01:00
74e036b809 [*] NT: Switch the event primitives used in old AuLoop (Aurora::Loop - no IO) subsystem 2023-06-23 07:56:40 +01:00
47746de462 [+] Process and threaded user and kernel time keeping clocks 2023-06-19 17:48:24 +01:00
2d6dca4e21 [+] 32bit SOO sizes for sync primitives under x86_32/MSVC
[*] Optimize the write-biased reentrant read-write lock down to 88 bytes on MSVC x64
2023-06-17 17:08:58 +01:00
451b9025c0 [*] Fix major recent regressions
amend: 48075bfd
amend: 25b933aa
amend: f50067e6 (to be overwritten)
et al
2023-06-17 15:12:16 +01:00
48075bfda7 [*] cleanup: added gUseNativeWaitSemapahore 2023-06-16 00:06:32 +01:00
25b933aafa [*] Fixed regression in RWLock size without sacrificing on features
(TODO: I would like to WoA optimize it for modern oses at some point)
2023-06-16 00:02:42 +01:00
e11028bb03 [*] Timeout division: ensure this never deadlocks 2023-06-15 21:15:58 +01:00
74b813f051 [*] Bloat RWLock by adding a separate yield queue for writers (we were already writer biased)
This will help us reduce cpu usage and latency at the cost of 32 bytes.

We are now hopelessly oversized: 136 bytes for a single primitive. 104 was barely passble.
2023-06-15 20:54:19 +01:00
d389f9dda3 [*] Re-optimize the primitives for Windows 8+ on top of a Windows XP+ core 2023-06-15 20:52:28 +01:00
28201db2d7 [+] Improve WoA on Windows 8+
[+] AuThreading::WaitOnAddressSteady
2023-06-15 20:44:27 +01:00
17c50eff64 [*] fix old unix sync regressions
do not hold switching lock while spinning as originally written and intended
2023-06-13 12:05:55 +01:00
b91ce52195 [*] Not sure how WOA regressed 2023-06-12 19:35:54 +01:00
1a8acbdde5 [+] By-raw pointer WOA lists
(also they are now fairer)
[+] Steps towards future proofing NT (not the future proofing itself)
2023-06-12 18:31:44 +01:00
50413f36e5 [*] keyed events should yield indefinitely in their failure path
(amended one day later: removed one of the fixes. this is gonna apply to just one place for now)
2023-06-12 15:51:54 +01:00
123e34d224 [*] been meaning to remove this debug preemptive wake up for awhile 2023-06-11 21:35:47 +01:00
1bda1f469f [*] simplify wake on address emulation
Windows 7 reporting improved time to wake, but it is still averaging about the same... everything.
2023-06-11 19:13:37 +01:00
5b495f7fd9 [*] sched: minor clean up 2023-06-11 17:52:50 +01:00
573031cd96 [*] idiot-proofing memory ownership 2023-06-11 15:49:39 +01:00
1f505fcf02 [+] Added explicit stream interface cache reset path under proto stacks
(amended: missed one discard)
2023-06-11 15:30:14 +01:00
98c1235554 [+] Futureproofing: AuByteBuffer flag 2023-06-10 21:50:00 +01:00
4a584ce73a [+] Future proof IProtocolInterceptorEx with an optional pParent in the only Aurora Interface methods last argument 2023-06-10 20:33:19 +01:00
90e08d534c [*] optimize the other half (aa7f783f) of compression streams when used with the interceptor interface 2023-06-10 20:03:29 +01:00
519ba4b26e [*] Fix up AuProcess version handling handling. Includes a new secret env-var.
(amended)
2023-06-08 10:29:13 +01:00
a56538a4cd [*] women 2023-06-07 21:10:29 +01:00