summaryrefslogtreecommitdiff
path: root/src/JSystem/JKernel/JKRAramBlock.cpp
diff options
context:
space:
mode:
authorJcw87 <Jcw87@users.noreply.github.com>2026-01-04 17:22:56 -0800
committerGitHub <noreply@github.com>2026-01-04 17:22:56 -0800
commitdeb7bead205cb35ff5f57ee3d466179defde44cb (patch)
tree22809a707a49f0253f05d45659cd142dacc0ca83 /src/JSystem/JKernel/JKRAramBlock.cpp
parent1400687731baedd9419dbf3972c50e3faab0f24e (diff)
JKernel debug (#3012)
Diffstat (limited to 'src/JSystem/JKernel/JKRAramBlock.cpp')
-rw-r--r--src/JSystem/JKernel/JKRAramBlock.cpp24
1 files changed, 6 insertions, 18 deletions
diff --git a/src/JSystem/JKernel/JKRAramBlock.cpp b/src/JSystem/JKernel/JKRAramBlock.cpp
index c1416686e9..a7a1fcf96d 100644
--- a/src/JSystem/JKernel/JKRAramBlock.cpp
+++ b/src/JSystem/JKernel/JKRAramBlock.cpp
@@ -18,8 +18,7 @@ JKRAramBlock::~JKRAramBlock() {
JSULink<JKRAramBlock>* prev = mBlockLink.getPrev();
if (prev) {
- JKRAramBlock* block = prev->getObject();
- block->mFreeSize = mSize + mFreeSize + block->mFreeSize;
+ prev->getObject()->mFreeSize += mSize + mFreeSize;
list->remove(&mBlockLink);
} else {
mFreeSize = mFreeSize + mSize;
@@ -28,35 +27,24 @@ JKRAramBlock::~JKRAramBlock() {
}
JKRAramBlock* JKRAramBlock::allocHead(u32 size, u8 groupId, JKRAramHeap* aramHeap) {
- u32 address = mAddress;
- u32 usedSize = mSize;
- u32 nextAddress = address + usedSize;
- u32 freeSize = mFreeSize;
- u32 nextFreeSize = freeSize - size;
+ u32 nextAddress = mAddress + mSize;
+ u32 nextFreeSize = mFreeSize - size;
JKRAramBlock* block = new (aramHeap->getMgrHeap(), 0)
JKRAramBlock(nextAddress, size, nextFreeSize, groupId, false);
mFreeSize = 0;
- JSULink<JKRAramBlock>* next = mBlockLink.getNext();
- JSUList<JKRAramBlock>* list = mBlockLink.getSupervisor();
- list->insert(next, &block->mBlockLink);
+ mBlockLink.getSupervisor()->insert(mBlockLink.getNext(), &block->mBlockLink);
return block;
}
JKRAramBlock* JKRAramBlock::allocTail(u32 size, u8 groupId, JKRAramHeap* aramHeap) {
- u32 freeSize = mFreeSize;
- u32 address = mAddress;
- u32 usedSize = mSize;
- u32 endAddress = address + usedSize + freeSize;
- u32 tailAddress = endAddress - size;
+ u32 tailAddress = mAddress + mSize + mFreeSize - size;
JKRAramBlock* block =
new (aramHeap->getMgrHeap(), 0) JKRAramBlock(tailAddress, size, 0, groupId, true);
mFreeSize -= size;
- JSULink<JKRAramBlock>* next = mBlockLink.getNext();
- JSUList<JKRAramBlock>* list = mBlockLink.getSupervisor();
- list->insert(next, &block->mBlockLink);
+ mBlockLink.getSupervisor()->insert(mBlockLink.getNext(), &block->mBlockLink);
return block;
}