Commit Graph

165 Commits

Author SHA1 Message Date
89686eb022 [*] Use PMR allocators instead 2024-09-09 06:52:38 +01:00
aafb64e740 [+] AuMemoryView::CopyInto
[+] AuMemoryView::CopyFrom
[+] AuMemoryViewStream::CopyStreamInto
[+] AuMemoryViewStream::CopyStreamFrom
2024-08-27 20:33:00 +01:00
adfca81335 [*] Fuck you 2024-08-08 20:17:52 +01:00
da7fd881a6 [*] Update behaviour of CppHeapWrapper to make it moron proof 2024-08-07 21:39:42 +01:00
8be1afe570 [+] AuMemory::Heap adapters for third party heap allocators
[+] AuMemory::HeapAdapterInterface to describe aforementioned heap allocators of a very limited API
[+] AuMemory::HeapAdapter[Unique,Shared,]
[+] HeapWin32Adapter to convert HANDLE hHeaps of win32s CreateHeap (RtlCreateHeap?) into AuMemory::Heaps
2024-07-19 09:06:56 +01:00
a995c37e81 [*] Fixup half-assed/rushed alloc class with alignment in the .hpp to .inl breakout commit (ced9e0be)
(sure, it cannot work to realign structs with c++ operator[] overloading; however, we need this to prevent excessive allocations when cloning a U8 memory view of alignment)
2024-07-19 09:01:20 +01:00
2628784ff6 [*] Refactor heap stats 2024-07-19 08:25:30 +01:00
1fb355520e [*] Made AuMemoryViewRead/Writes to bytebuffer less ambiguous 2024-07-19 08:24:51 +01:00
2d2523e679 [*] Another build regression 2024-07-16 23:58:44 +01:00
8df3f6970b [+] Heap::Clone(Heap *[, ...]) 2024-07-15 00:16:13 +01:00
ced9e0be17 [*] Optimize global process heap aliases
[*] Split AuMemory::Heap impl into .inl file
2024-07-15 00:15:35 +01:00
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
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
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
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
9805a57647 [+] MemoryView::Clone()
[+] MemoryView::CloneSelf()
2024-06-11 07:25:48 +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
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
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
7e9a9417db [*] ROXTL now has AuRONString
[*] Envvars: empty value is now valid
2024-04-28 13:22:47 +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
76b5466e87 [*] fix 2024-04-21 06:53:34 +01:00
7935159290 [+] std::pmr requirements 2024-04-21 02:49:57 +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
7cb9355805 [*] Harden RequestHeapOfRegion 2024-04-15 18:04:44 +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
8a9c45c213 [*] shit spec by shit for brains phd boomers 2024-03-25 13:37:18 +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
b65f27fa8f [*] Harden AuByteBuffer against use after free 2024-03-18 08:47:37 +00:00
f0248ed658 [*] Fix AuByteBuffer writes of AuOptionals 2024-03-17 20:42:24 +00:00
bcb007ebe8 [*] Improved AuByteBuffer structure 2024-03-17 13:57:28 +00:00
a7033c40e2 [*] Nuke some std:: usage under AuMemory::Heap 2024-03-17 13:16:43 +00:00
9c4315ff95 [*] Hardening in the form of the prevention of future bad rewrites of similar code
[+] MemoryView::AtOffset
[+] MemoryView::Take
2024-03-10 09:46:53 +00:00
c935b892c7 [*] Harden AuByteBuffer
[+] Alias: AuNewSharableBuffer
[+] Alias: AuNewSharableResizableBuffer
[+] Alias: AuNewRingBuffer
[+] Alias: AuNewResizableBuffer
2024-03-09 06:57:19 +00:00
2a5fad9d0c [+] Debug heap API: void Heap::WalkHeap(bool(*fCallback)(void *, void *), void *pSecondArg) 2024-03-04 04:51:41 +00:00
1920f5a8d5 [+] IO Thread Pool
[+] FileSeekingWriter
[+] ISeekingWriter
[+] AuIO::Adapters::NewAsyncTransactionFromStreamReader
[+] AuIO::Adapters::NewAsyncTransactionFromStreamSeekingReader
[+] AuIO::Adapters::NewAsyncTransactionFromStreamWriter
[+] AuIO::Adapters::NewAsyncTransactionFromStreamSeekingWriter
[+] AuIO::Async::UseSpecifiedWorkerGroup
[+] AuMemory::NewSharableResizableBuffer
[+] AuMemory::NewSharableBuffer
[*] Update comments
2024-02-26 18:12:04 +00:00
2731183a1a [+] AuMemory::SharableByteBuffer 2024-02-26 00:05:01 +00:00
ae17ad13fe [*] DeleteThatCastedOnce should check the real types trivialness 2024-02-16 11:45:57 +00:00
72335a09a9 [*] Harden AuCastPointer 2024-02-15 01:50:27 +00:00
3dc82bf1cb [+] AuCastPointer because C++ is a big pile of shit (TODO: port to AuROXTL) 2024-02-14 06:35:43 +00:00
8b64a97514 [*] RequestHeapOfRegion should take a memory view 2024-02-13 05:11:05 +00:00