From 7cffff1d7124ff3fc7803686231ce9d24737233a Mon Sep 17 00:00:00 2001 From: minjaesong Date: Tue, 3 May 2022 22:23:54 +0900 Subject: [PATCH] fixed a bug where softresetting would not clear the malloc map --- tsvm_core/src/net/torvald/tsvm/VM.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/tsvm_core/src/net/torvald/tsvm/VM.kt b/tsvm_core/src/net/torvald/tsvm/VM.kt index 90f6459..fa1e50f 100644 --- a/tsvm_core/src/net/torvald/tsvm/VM.kt +++ b/tsvm_core/src/net/torvald/tsvm/VM.kt @@ -58,6 +58,11 @@ class VM( var romMapping = 255 internal set + private val mallocMap = BitSet(mallocBlockSize) + private val mallocSizes = HashMap() // HashMap + var allocatedBlockCount = 0; private set + + init { init() } @@ -81,6 +86,10 @@ class VM( println("[VM] Creating new VM with ID of $id, memsize $memsize") startTime = System.nanoTime() + + mallocMap.clear() + mallocSizes.clear() + allocatedBlockCount = 0 } @@ -163,10 +172,6 @@ class VM( (memspace as PeriBase).peek(offset) } - private val mallocMap = BitSet(mallocBlockSize) - private val mallocSizes = HashMap() // HashMap - var allocatedBlockCount = 0; private set - private fun findEmptySpace(blockSize: Int): Int? { var cursorHead = 0 var cursorTail: Int