3d652ed605
[*] af5c8e86c0
20hrs ago: AuSPtr<AuMemoryViewXXX>s werent fully eliminated
2024-07-13 16:34:44 +01:00
46ef3231a2
[*] Change how the default work completion group for an AuAsync threads is created and kept alive
2024-07-12 20:40:05 +01:00
af5c8e86c0
[*] AuSPtr<AuMemoryViewXXXX> is now an anti-pattern. After 3 fucking years, memory views of shared control blocks and atomic in use counters are properly utilized everywhere. We do not need generic superclasses to be safe anymore
2024-07-12 20:22:48 +01:00
d803f1547c
[+] Added AuAsync per thread io group singleton
...
[*] Move static functions out of the thread pool interface. no idea how i had successful builds before
2024-07-12 17:22:07 +01:00
2b2f5c3d23
[*] Win32: added nvme pcie check under fs devices
2024-07-12 16:22:26 +01:00
d9230ec9c3
[*] Fix NT regression whilst working on a POSIX path bug ( 3143f3d2
)
2024-07-12 16:16:12 +01:00
c6e6c1c433
[+] Added Linux FSPlatformDevices implementation
2024-07-05 10:39:24 +01:00
3143f3d2eb
[*] Handling of edge case special dirs under Torbalds OS
2024-07-04 18:54:55 +01:00
937016e9f3
[*] Harden awaiting unlock via RuntimeWaitForSecondaryTick() usage under linux
2024-07-03 20:07:59 +01:00
cb69a7e737
[*] Solve two Linux regressions introduced/poorly worked around in: e7597b8463
, 592afe00a7
2024-07-02 05:16:49 +01:00
e7597b8463
[+] Added basic posix name resolution for when glibc isnt present or when being built on non-glibc toolchains
2024-07-01 12:37:38 +01:00
592afe00a7
[*] AuNet: Missing Linux TODO block; harden two callbacks missing a try/catch
2024-07-01 11:54:18 +01:00
3bae761e50
[*] AuIO harden
2024-07-01 11:52:12 +01:00
fa900d0f78
[*] Linux: Update antidbus message for clarity
2024-06-30 04:40:37 +01:00
a1672a33d7
[*] Linux alternative dynamic loader: AuProcess main process path has to be pulled from the procmap instead of arg[0]
2024-06-29 16:06:42 +01:00
05737d61fe
[*] Linux hack: drop arg[0] when the string contains ld-Aurora
2024-06-29 14:32:20 +01:00
bd034aec31
[*] AuOSThread harden set piro and name against race conditions
...
amend: i didnt want to lock so deep of a callstack, but oh well.
amend: win32 regression
2024-06-29 07:33:30 +01:00
035d822ec1
[*] Explicit memory order access barrier when reading WOA_SEMAPHORE_MODE-less bAlive under weakly ordered systems. ( 5b193411
cont: "[*] Improve regressed AuWoA time to wake"
...
In all other cases, the memory is either thread-local write-local or followed up by an indirect aquire/release of the processors pipeline and L1 cache by virtue of the containers dumb spinlock ::Lock, ::Unlock (...release, ...barrier)
Clang doesn't have /volatile:ms anymore so we cant rely on that
Assuming MSVC-like or x86 isnt good enough
(and, no retard midwits, volatile is a fine keyword. take ur spec sperging and shove it. i just need to control over-optimization of defacto-weakly ordered access between explicit lockless semaphore yields)
2024-06-23 04:29:21 +01:00
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