diff options
Diffstat (limited to 'src/memory.cpp')
| -rw-r--r-- | src/memory.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/memory.cpp b/src/memory.cpp index 7670b2f..064cad4 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -1,7 +1,7 @@ #include "memory.hpp" -struct pke::MemBucket { +struct MemBucket { int64_t size; int64_t head; int64_t free; @@ -10,7 +10,7 @@ struct pke::MemBucket { char * ptr; }; -pke::MemBucket buckets[128]; +MemBucket buckets[128]; int64_t bucketHead = 0; int64_t InitNewBucket(int64_t sz, bool transient = false) { @@ -23,7 +23,7 @@ int64_t InitNewBucket(int64_t sz, bool transient = false) { return bucketHead++; } -void DestroyBucket(pke::MemBucket *bkt) { +void DestroyBucket(MemBucket *bkt) { std::free(bkt->ptr); bkt->size = 0; bkt->head = 0; @@ -33,14 +33,14 @@ void DestroyBucket(pke::MemBucket *bkt) { bkt->ptr = CAFE_BABE(char); } -void *pke::PkeNew(std::size_t sz, pke::MemBucket *bkt) { +void *Pke_New(std::size_t sz, MemBucket *bkt) { void *ptr = bkt->ptr + bkt->head; bkt->head += sz; bkt->allocs++; return ptr; } -void *pke::PkeNew(std::size_t sz) { +void *Pke_New(std::size_t sz) { MemBucket *bkt = nullptr; for (long i = 0; i < bucketHead; ++i) { if (buckets[i].transient == false && buckets[i].size - buckets[i].head > sz) { @@ -50,10 +50,10 @@ void *pke::PkeNew(std::size_t sz) { if (bkt == nullptr) { bkt = &buckets[InitNewBucket(DEFAULT_BUCKET_SIZE)]; } - return PkeNew(sz, bkt); + return Pke_New(sz, bkt); } -void pke::PkeDelete(const void *ptr, std::size_t sz, pke::MemBucket *bkt) { +void Pke_Delete(const void *ptr, std::size_t sz, MemBucket *bkt) { assert(ptr >= bkt->ptr && ptr < bkt->ptr + bkt->size && "pointer not in bucket range"); bkt->allocs--; bkt->free += sz; @@ -64,8 +64,8 @@ void pke::PkeDelete(const void *ptr, std::size_t sz, pke::MemBucket *bkt) { } } -void pke::PkeDelete(const void *ptr, std::size_t sz) { - pke::MemBucket *bkt = nullptr; +void Pke_Delete(const void *ptr, std::size_t sz) { + MemBucket *bkt = nullptr; for (long i = 0; i < bucketHead; ++i) { bkt = &buckets[i]; if (ptr >= bkt->ptr && ptr < bkt->ptr + bkt->size) break; @@ -74,14 +74,14 @@ void pke::PkeDelete(const void *ptr, std::size_t sz) { std::printf("bad pointer %llu", reinterpret_cast<unsigned long long>(ptr)); throw "bad pointer"; } - PkeDelete(ptr, sz, bkt); + Pke_Delete(ptr, sz, bkt); } -pke::MemBucket *pke::BeginTransientBucket(int64_t sz) { +MemBucket *BeginTransientBucket(int64_t sz) { return &buckets[InitNewBucket(sz, true)]; } -void pke::EndTransientBucket(pke::MemBucket *bkt) { +void EndTransientBucket(MemBucket *bkt) { int64_t foundIndex = -1; for (int64_t i = 0; i < bucketHead; ++i) { if (&buckets[i] == bkt) { @@ -95,7 +95,7 @@ void pke::EndTransientBucket(pke::MemBucket *bkt) { } } -void pke::Flush() { +void Flush() { for (long i = bucketHead - 2; i > -1; --i) { if (buckets[i].head != 0) break; if (buckets[i+1].head != 0) break; @@ -116,9 +116,9 @@ uint64_t Buckets_NewHandle(std::size_t bucketBytes, uint64_t bucketItemCount, ui } if (bucketCounter > bucketIncrementer) { int64_t newIncrement = bucketIncrementer * 1.5; - char * newBuckets = reinterpret_cast<char *>(pke::PkeNew(bucketBytes * newIncrement)); + char * newBuckets = reinterpret_cast<char *>(Pke_New(bucketBytes * newIncrement)); std::memcpy(newBuckets, buckets, bucketBytes * bucketIncrementer); - pke::PkeDelete(buckets, bucketBytes * bucketIncrementer); + Pke_Delete(buckets, bucketBytes * bucketIncrementer); buckets = newBuckets; bucketIncrementer = newIncrement; } |
