3749702e34
[*] SharableByteBuffer constructors must be inline
2024-07-13 18:51:07 +01:00
e665720f24
[*] Update AuMemory::SharableByteBuffer to be useful with the transition to AuSPtr<AuMemoryViewXXX>'less APIs
2024-07-13 17:08:45 +01:00
3d652ed605
[*] af5c8e86c0
20hrs ago: AuSPtr<AuMemoryViewXXX>s werent fully eliminated
2024-07-13 16:34:44 +01:00
124e9d1d0a
[*] Fix main process heap fragmentation caused by shared pointer blocks, always allocate from within the heap object
2024-07-13 03:07:02 +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
daf4552eb2
[*] Update AuByteBuffer::Pad to include bUpdateWriteHead argument. broke previous behavior bc this is more convenient and old users were already doing this after the fact
2024-07-09 03:11:10 +01:00
4ab5b4cba7
[*] After just shy of 1y, introduce FS devices into the default include tree. Linux will be brought up soon enough
2024-07-04 23:27:04 +01:00
f2e3ceef99
[+] Au[Futex]Countdown
2024-06-30 05:40:13 +01:00
0555e8cc32
[*] Update: WakeOnAddress.hpp comments
2024-06-30 05:13:55 +01:00
27b18c0a37
[+] MemoryView::ToSharedControlBlock
...
[+] et al
2024-06-29 01:12:07 +01:00
114976a71d
[*] im a smort boi
2024-06-19 22:17:55 +01:00
5b19341186
[*] Improve regressed AuWoA time to wake
2024-06-19 22:05:17 +01:00
9805a57647
[+] MemoryView::Clone()
...
[+] MemoryView::CloneSelf()
2024-06-11 07:25:48 +01:00
7fdcdb7568
[*] Fuck you
2024-06-10 14:08:58 +01:00
ee9e318511
[*] Fix: AuByteBuffer::Resize could resize with wrong ringbuffer alignmnet or linear if a fast path fails
...
[+] ByteBuffer::ByteBuffer(const MemoryViewRead &readView, AuUInt uAlignment, bool circular, bool expandable
2024-06-03 04:26:18 +01:00
3241ebb349
[+] The missing AuByteBuffer::ByteBuffer(const MemoryViewRead &readView, ...) constructor
2024-06-02 00:13:56 +01:00
4e7f3ed3dd
[*] Sometimes let ByteBuffer::Resize pass when it shouldn't be allowed to
2024-06-02 00:05:19 +01:00
588322252f
[*] Redo ByteBuffer::Pad for write streams
2024-06-01 23:57:50 +01:00
c3e898d53d
[*] Redo d520b0ce
with the lost semaphore copy described in the commit comment
...
(wtf? did i stash something at the wrong time?)
2024-05-28 19:28:08 +01:00
d520b0ce42
[*] I'm going to let the reference waitaible/woa/futex primitives be copy and movable now.
...
condvars -> cannot matter, you're creating a new object
mutex -> cannot mater, you're creating a new object, perhaps copy assignment under lock might be required depending on the parent. either way, a copy ctor is not required
semaphore -> copy state in case of the timelime barrier use case. semaphores emulating condvars and similar logic wont mind the overshoot. best case, we do want to copy the previous state as the initial count. worst case, your code is fundamentally broken.
2024-05-28 00:42:24 +01:00
a5a9fa3887
[*] Updated AuTheading::WaitFor prototype
...
[+/*] Missing YieldPoll MS prototype in public header
2024-05-27 15:04:21 +01:00
30b0fce882
[*] Updated/added FutexBarrier comments and updated AuThreadings README
2024-05-27 14:35:10 +01:00
e4fa5d549e
[*] Refactor IAuroraThread
2024-05-27 13:28:57 +01:00
9b3aa12db6
[*] Fix bytebuffer crash on copy assignment when empty (also move the constructors implementation to a inl file)
2024-05-22 11:43:46 +01:00
60771f6e6b
[+] MemoryView::DemoteFromSharedView
2024-05-21 11:30:15 +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
e86a414837
[*] d589ce3549
missed header update
2024-05-11 18:51:16 +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
f948c3423c
[*] Fix dodgy mostly unused error-less T ByteBuffer::ReadTagged()
2024-05-03 14:23:21 +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
f13c344249
[*] DemangleName should use a RONString
2024-04-28 16:44:16 +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
a526d67bc3
[*] Change/Fixup the object ids of ByteBufs typedreadwrite
2024-04-24 14:25:49 +01:00
298ab88648
[+] AuMemoryView::TryPromoteToSharedView
...
[+] AuMemoryView::TryDemoteFromSharedView
[+] AuMemory::RequestHeapOfSharedRegion
2024-04-24 00:52:58 +01:00
36f0be801c
[*] ShuffleIterators should use the fast impl of RngArrayU32Range
2024-04-22 23:33:06 +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
76b5466e87
[*] fix
2024-04-21 06:53:34 +01:00
b47cf9f181
[*] DebugBenchmark and ITTYConsole now uses ROStrings
2024-04-21 06:02:47 +01:00
7935159290
[+] std::pmr requirements
2024-04-21 02:49:57 +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
62917318af
[+] (reference futex primitive) AuFutexMutexSpecial = AuThreading::Waitables::FutexWaitableNoVTblMovable
...
[+] (reference futex primitive) AuFutexMutexSmallest = AuThreading::Waitables::FutexWaitableNoVTblMovableSmallest
...because i cant be arsed
2024-04-16 04:30:31 +01:00
7cb9355805
[*] Harden RequestHeapOfRegion
2024-04-15 18:04:44 +01:00
528cb01679
[*] INetAdapter refactor: lets not assume all adapters have IP addresses
2024-04-14 22:02:38 +01:00