Commit Graph

1585 Commits

Author SHA1 Message Date
5b19341186 [*] Improve regressed AuWoA time to wake 2024-06-19 22:05:17 +01:00
a1c1e88f51 [*] Unify/make consistent one compression out of memory space to write into error as code 0x69, string="OOM" 2024-05-30 01:15:37 +01:00
85cf0a793a [*] Release AuAsyncTimer callback references as soon as the object is canceled 2024-05-28 18:18:54 +01:00
78d4ce3d58 [*] You stupid fuck. How was this not committed? 2024-05-27 20:57:09 +01:00
efa26dd99d [*] YieldPollNs nonzero timeout check 2024-05-27 16:02:54 +01:00
dbacc71870 [*] Reformat these lines 2024-05-27 15:47:18 +01:00
a5a9fa3887 [*] Updated AuTheading::WaitFor prototype
[+/*] Missing YieldPoll MS prototype in public header
2024-05-27 15:04:21 +01:00
e4fa5d549e [*] Refactor IAuroraThread 2024-05-27 13:28:57 +01:00
5ab97be4e3 [*] Harden Stack.Win32.cpp
Homer running[3]
2024-05-26 17:15:39 +01:00
30b89f1bd7 [*] Security: use AuCodepointsReplaceAll instead of AuReplaceAll under the loggers mitigations 2024-05-21 04:59:05 +01:00
ba36ea4ef1 [+] Added AuOptional<AuUInt> optMaxRecursion to AuFS::ReadDirRecursive 2024-05-19 17:12:14 +01:00
9b26eea886 [+] IAsyncTimer::SetCatchUp(bool bCatchUp) 2024-05-19 17:01:51 +01:00
67894b399b [*] Revert clang 'optimization' because this piece of shit compiler wont listen to me.
Even worse, im just going to fucking nuke all clang related checks from orbit in our global build_scripts (8b00dc69fceea62ecbbf5a21255a41e2f23921a4), because they admit they cause a 2x slowdown.
2024-05-13 23:43:19 +01:00
26209ea066 [*] Prevent SysPanic/SysAsserts under Windows Vista and beta builds of Windows 7 during locale lookup. This shouldn't impact Windows XP. Perhaps Winserver 2003, beta 7, and other releases of older Windows could crash on start up.
Unrelated note, Windows XP does in fact have NLS support with these APIs; we just need to use "nlsdl.dll". Fortunately, we already have Windows XP paths, and that DLL is nothing more than a 24kb stub that calls GetLocaleInfoW. Something we already do ourselves.
2024-05-13 21:57:00 +01:00
c3f7e625ba [*] Clang has check_stack, strict_gs_check is msvc specific 2024-05-10 22:37:51 +01:00
d589ce3549 [*] After 2 or 3 years, redo the spinlock 2024-05-07 16:46:12 +01:00
631624dc55 [*] Linux build regressions, and shrink the size of Linux RWLocks to 48 bytes from 64 2024-05-07 14:57:19 +01:00
8e1c74a5df [*] i swore i replaced this with a tpause before
[*] ...and the docs arent clear on whether or not this clock value is relative or absolute
2024-05-06 22:47:45 +01:00
316fb3f6b2 [*] (Disabled) bad optimization: possibility to disable spinning of the auasync task scheduler. Worsens CPU usage when spinning is desired on the target platform, when paired with the two platforms this optimization would've benefited, Windows 7 and Linux. 2024-05-05 22:01:19 +01:00
f3ba901f71 [+] Zen3 on top of AlderLake optimizations
[*] Minor alderlake adjustments
2024-05-05 19:42:10 +01:00
459a9a789b [*] Switch C0.2 and C0.1 powerstates around 2024-05-03 15:52:50 +01:00
134816e128 [*] Optimize primitives SMTYield for Alderlake+ user-space, BIOS-ring mwait, and AARCH 2024-05-03 12:22:38 +01:00
a35c1f165a [+] AuAsync::ThreadPool::Wakeup(WorkerId_t) 2024-05-03 11:32:31 +01:00
373ccc3660 [+] C++20 QOL changes to AuFutures including AuFuture<X, Y>::BlockUntilComplete()
[*] Added additional check for failing dependencies of IWorkItems. Not required for fails to cascade, but this is nice to have here.
2024-05-03 09:28:14 +01:00
195af26aa4 [*] C++20 coroutine support: recursive callstack 2024-05-01 20:09:35 +01:00
c79a709f96 [*] RWLock: "I didn't like what I saw emitted" cont 2024-04-30 22:57:45 +01:00
07ef822bfa [*] AURORA_FORCE_SRW_LOCKS isn't officially supported but it should at least build 2024-04-30 20:37:00 +01:00
410a67d842 [*] RWLock: I didn't like what I saw emitted 2024-04-30 20:29:20 +01:00
22a4d3383d [*] NT/Win32-only: improved AuThreading::SleepNs(qwTimeout) 2024-04-30 19:02:05 +01:00
f13c344249 [*] DemangleName should use a RONString 2024-04-28 16:44:16 +01:00
9d4c5a8cfc [*] (optimize) RunOSWaitOnAddressEQNoTimedNoErrors wasn't NT aware 2024-04-28 14:24:13 +01:00
7e9a9417db [*] ROXTL now has AuRONString
[*] Envvars: empty value is now valid
2024-04-28 13:22:47 +01:00
54904957f2 [+] IRandomDevice.NextArrayVec2Fast
[+] IRandomDevice.NextArrayVec3Fast
[+] IRandomDevice.NextArrayVec4Fast
[+] AuRNG.RngArrayVec2Fast
[+] AuRNG.RngArrayVec3Fast
[+] AuRNG.RngArrayVec4Fast
2024-04-24 15:27:19 +01:00
298ab88648 [+] AuMemoryView::TryPromoteToSharedView
[+] AuMemoryView::TryDemoteFromSharedView
[+] AuMemory::RequestHeapOfSharedRegion
2024-04-24 00:52:58 +01:00
44c7898c29 [*] Developers developers developers developers
Absolute expiration times track any changes in the system time; relative expiration times are not affected by system time changes.
2024-04-23 23:20:53 +01:00
0a90fd1a25 [*] Force compile time optimizations under RNG 2024-04-23 22:24:07 +01:00
442a5f31eb [+] AuRNG::RngArrayI32RangeFast
[+] AuRNG::RngArrayU32RangeFast
[+] AuRNG::RngArrayI64RangeFast
[+] AuRNG::RngArrayU64RangeFast
[+] IRandomDevice::NextArrayI32RangeFast
[+] IRandomDevice::NextArrayU32RangeFast
[+] IRandomDevice::NextArrayI64RangeFast
[+] IRandomDevice::NextArrayU64RangeFast
2024-04-22 22:05:01 +01:00
5f9681c9e3 [+] AuRNG::IRandomDevice::NextU64Range
[+] AuRNG::IRandomDevice::NextI64Range
[+] AuRNG::IRandomDevice::NextVec2
[+] AuRNG::IRandomDevice::NextVec2Sorted
[+] AuRNG::IRandomDevice::NextVec3
[+] AuRNG::IRandomDevice::NextVec3Sorted
[+] AuRNG::IRandomDevice::NextVec4
[+] AuRNG::IRandomDevice::NextVec4Sorted
[+] AuRNG::IRandomDevice::NextArrayI64Range
[+] AuRNG::IRandomDevice::NextArrayU64Range
[+] AuRNG::IRandomDevice::NextArrayU32Mask
[+] AuRNG::IRandomDevice::NextArrayU64Mask
[+] AuRNG::IRandomDevice::NextArrayI64
[+] AuRNG::IRandomDevice::NextArrayU64
[+] AuRNG::IRandomDevice::NextArrayVec2
[+] AuRNG::IRandomDevice::NextArrayVec2Sorted
[+] AuRNG::IRandomDevice::NextArrayVec3
[+] AuRNG::IRandomDevice::NextArrayVec3Sorted
[+] AuRNG::IRandomDevice::NextArrayVec4
[+] AuRNG::IRandomDevice::NextArrayVec4Sorted
[+] AuRNG::IRandomDevice::NextArrayVec4SortedFast
[+] AuRNG::IRandomDevice::NextArrayVec3SortedFast
[+] AuRNG::IRandomDevice::NextArrayVec2SortedFast
[+] AuRNG::IRandomDevice::NextArrayDoubleRangeFast
[+] AuRNG::IRandomDevice::NextArrayDecimalsFast
[+] AuRNG::RngU64Range
[+] AuRNG::RngI64Range
[+] AuRNG::RngVec2
[+] AuRNG::RngVec2Sorted
[+] AuRNG::RngVec3
[+] AuRNG::RngVec3Sorted
[+] AuRNG::RngVec4
[+] AuRNG::RngVec4Sorted
[+] AuRNG::RngArrayI64Range
[+] AuRNG::RngArrayU64Range
[+] AuRNG::RngArrayU32Mask
[+] AuRNG::RngArrayU64Mask
[+] AuRNG::RngArrayI64
[+] AuRNG::RngArrayU64
[+] AuRNG::RngArrayVec2
[+] AuRNG::RngArrayVec2Sorted
[+] AuRNG::RngArrayVec3
[+] AuRNG::RngArrayVec3Sorted
[+] AuRNG::RngArrayVec4
[+] AuRNG::RngArrayVec4Sorted
[+] AuRNG::RngArrayVec4SortedFast
[+] AuRNG::RngArrayVec3SortedFast
[+] AuRNG::RngArrayVec2SortedFast
[+] AuRNG::RngArrayDoubleRangeFast
[+] AuRNG::RngArrayDecimalsFast
2024-04-22 06:02:56 +01:00
b88e28aea0 [*] IOPipeWork completion group problem 2024-04-22 02:51:17 +01:00
579185ec10 [*] Harden AuIOAdapterAsyncStream 2024-04-21 13:23:58 +01:00
c26eaf86a7 [*] Minor UWP progress 2024-04-21 11:52:24 +01:00
b47cf9f181 [*] DebugBenchmark and ITTYConsole now uses ROStrings 2024-04-21 06:02:47 +01:00
aa04b11a57 [*] Fix LoadPackagedLibrary's pString 2024-04-20 07:10:09 +01:00
6122525ed3 [*] Fix AuProcess deadlock and parity issue between some unix loaders and Windows
[*] Slight UWP progress in AuProcessMap.NT.cpp (not really)
2024-04-20 06:55:46 +01:00
85cf7d7a4c [*] Missed u 2024-04-20 02:54:31 +01:00
e7d9df3cab [*] Improve alt-AuString allocator awareness 2024-04-20 02:29:49 +01:00
83f34b0c47 [*] I was right. String views are [mostly] pointless (*)
03:28:55:638  17>2 of 53388 functions (<0.1%) were compiled, the rest were copied from previous compilation.
03:28:55:638  17>  0 functions were new in current compilation
03:28:55:638  17>  65 functions had inline decision re-evaluated but remain unchanged
03:28:56:749  17>Finished generating code

the header of const AuString & is the same as std::string_view therefore nothing changes. in fact, we still need to alloc strings a bunch of times for a zero terminated string. worse, <c++20 always allocs each time we want to access a hashmap with o(1) lookup, making small hashmaps kinda pointless when we always have to alloc+copy (thx std)

perhaps this will help some language binders
2024-04-19 05:58:08 +01:00
616fc54531 [*] Hash WELL outputs (ABI break once again >:( )
[*] Rework/Fix WELL_NextBytes (large) improperly accounting for small buffers (this internal function is publicly visible. WELL_NextLong isn't going to save us)
2024-04-18 05:06:40 +01:00
7cb9355805 [*] Harden RequestHeapOfRegion 2024-04-15 18:04:44 +01:00
78f59f5cef [*] Increase NT block symbol table size 2024-04-15 17:22:47 +01:00
88a07714e5 [*] Made conapi requirement under Win32 optional and completely nuke the code when building under non-win32 targets 2024-04-14 23:11:20 +01:00
528cb01679 [*] INetAdapter refactor: lets not assume all adapters have IP addresses 2024-04-14 22:02:38 +01:00
971b007ab9 [+] PosixFDYeetus() 2024-04-14 19:48:40 +01:00
0164919cd9 [+] while_bc 2024-04-13 22:49:05 +01:00
e3745d0efa [*] Ensure POSIX compilers dont touch this file 2024-04-13 19:13:50 +01:00
3115627424 [*] Introduce APIs to access IProcessSectionMapView safely when malicious calls to Unmap could be made 2024-04-12 13:42:30 +01:00
f589227c1d [*] messed up AURORA_COMPILER_GCC macro usage 2024-04-12 11:45:20 +01:00
54dedf67cc [*] Improper Win32Open2 transition 2024-04-12 11:38:13 +01:00
225791cf7c [*] Only override _WIN32_WINNT under AURORA_PLATFORM_WIN32 2024-04-11 21:43:56 +01:00
074d37c073 [*] Let UWP access winsock 2024-04-11 21:38:26 +01:00
9f5c0e559c [*] Minor ConditionVariableNT optimization (SteadyClockNS() may syscall under vms) 2024-04-11 19:58:42 +01:00
f2eadb4653 [*] Destink Stinks.hpp 2024-04-11 14:53:02 +01:00
c6a1eb3f1e [*] UWP args(?) 2024-04-10 13:18:00 +01:00
9742db62d3 [+] AuLogging::NewStreamSink
[*] Logging QOL fixes
2024-04-10 11:05:00 +01:00
1bb3197941 [*] Amend a0875950 2024-04-10 08:20:47 +01:00
13ddd42961 [*] Limit kThreadIdAny dequeues until one until we can preempt the work queues of threads within our local group 2024-04-10 07:44:06 +01:00
a087595009 [*] Minor tweaks + more not-so-lazy loads in case of uwp 2024-04-10 00:09:21 +01:00
7f0dc81ec3 [*] Rejuvenate AuMemory::SwapLock 2024-04-09 22:29:11 +01:00
a300076c6d [*] Refactor: INetAdapter::GetDNS() now returns a const reference 2024-04-01 06:44:20 +01:00
2a2e40fc8c [*] Refactor ENetworkAdapterType->EAdapterType
[*] Refactor ENetworkAdapterStatus->EAdapterStatus
2024-04-01 06:41:51 +01:00
2717178681 [+] Added INetworkInterface overloads
[+] INetInterface::SetWorkersService
[+] INetInterface::SetResolveService
[+] INetInterface::SetDatagramService
[+] INetInterface::SetInterfacesService
[*] Refactor: INetAdapter::GetStatus -> INetAdapter::GetAdapterStatus
[*] Refactor: const NetError &ISocketBase::GetError() -> AuOptional<const NetError &> ISocketBase::GetError()
[*] Refactor: INetAdapter to return const references of IPAddresses
2024-04-01 06:28:35 +01:00
5668188945 [*] Harden IO handle interface 2024-03-31 09:26:56 +01:00
263ca6e646 [*] Amend FileStream::Close (232a136b) 2024-03-27 15:40:13 +00:00
ec44cc1d69 [*] Ensure these fallback primitives can be accessed by -> operator 2024-03-27 03:19:18 +00:00
232a136bfe [+] IOHandle::IsWriteEoSOnClose
[+] IOHandle::SetWriteEoSOnClose
[+] IOHandle::HandleCreate::bFlushOnClose
[+] IOHandle::HandleCreate::bWriteEoSOnClose
[*] Unified grug based auto-truncating. Previously we were truncating on the final derefing thread; now, we truncate on the grug thread.
[*] Refactor/Cleanup IOHandle
2024-03-27 03:15:01 +00:00
30fa15b726 [*] Clean up grug and auasync scheduler / improved idle cpu usage 2024-03-26 18:38:52 +00:00
1fa12f141f [*] Fix TryWaitOnAddressSpecialEx from UntilEqual -> Special update 2024-03-24 15:30:38 +00:00
782d788531 [*] Drop stupid write stream semantics 2024-03-22 13:57:39 +00:00
c87ec4e4b6 [*] Linux build regressions 2024-03-21 00:32:13 +00:00
ac3b317fa3 [*] Fix major heap regression [rebase] 2024-03-20 12:01:18 +00:00
42d3b070fa [*] Regression: 0b60cb80 (nuked the loggers) 2024-03-19 18:15:44 +00:00
d6ac05054e [*] Update prototype: AuFS::ReadDirRecursive(const AuString &string, AuOptional<bool> bTraverseSymlinks)
[+] AuUInt32 AuFS::IReadDir::GetErrorCount()
[+] AuList<AuString> AuFS::IReadDir::GetErrorPaths()
2024-03-19 18:08:54 +00:00
bd1283e146 [*] Polish AuMemory 2024-03-19 16:10:32 +00:00
0b60cb8099 [*] Fix major heap regression 2024-03-19 11:56:15 +00:00
c54ac9d6a3 [+] AuFS::ReadFileHeader 2024-03-18 05:58:20 +00:00
07889bfb3e [*] Update this comment again 2024-03-17 11:09:40 +00:00
0edf00ffc8 [*] Microsoft is really taking the fucking piss again 2024-03-16 19:58:44 +00:00
81d7c7027c [*] Cont work on AuIOHandle cleanup 2024-03-16 09:51:41 +00:00
1263434bb7 [+] bool IIOHandle::InitFromHandleCopy(const IIOHandle *pHandle) 2024-03-15 13:34:01 +00:00
25b1a9cad6 [*] Thread-safety: harden io file streams and improve construction api of OpenBlockingFileStreamFromHandle 2024-03-15 08:50:52 +00:00
ccc4116394 [*] PosixShutup for AuProcesses::OpenXXXX and two minor bug fixes 2024-03-15 06:19:30 +00:00
b3f1ef8bc2 [*] Fix recent regression in f401c6f750 and fix two ignored return values 2024-03-14 01:22:20 +00:00
dbd2ec78b3 [*] harden dir traversal for removal 2024-03-13 10:08:38 +00:00
3f265cf19b [*] IOHandle is now 192 bytes
[*] Autohandle duplication
2024-03-13 07:50:50 +00:00
582b32ded9 [*] harden 2024-03-13 05:37:51 +00:00
cac3746bf0 [*] Update CmdLine prototype: AuOptional<const AuString &> GetValue(const AuString &key) 2024-03-13 02:03:56 +00:00
5c34a8435b [*] d14ba6cf revert one force inline 2024-03-12 23:32:32 +00:00
d039055bc1 [*] Optimize _NTLikeQueryFrequency under Win10 2024-03-12 22:54:03 +00:00
d14ba6cfd4 [+] AuThreading::EWaitMethod
[+] AuThreading::TryWaitOnAddressSpecial
[+] AuThreading::TryWaitOnAddressSpecialEx
[+] AuThreading::WaitOnAddressSpecial
[+] AuThreading::WaitOnAddressSpecialSteady
2024-03-12 22:50:22 +00:00
2ba5ae6fa5 [*] Windows 10 LTSC / other branches crash on startup fix (missing FOLDERID_UserProgramFiles for some reason) 2024-03-12 04:32:45 +00:00