From ffa140e0dc4473fa722d2f9c596317b1248208c0 Mon Sep 17 00:00:00 2001 From: otya128 Date: Sat, 31 Dec 2016 10:28:31 +0900 Subject: [PATCH] Fix backtrace --- SMILEBASIC/VM.d | 3 +++ 1 file changed, 3 insertions(+) diff --git a/SMILEBASIC/VM.d b/SMILEBASIC/VM.d index ba67ae6..84184f4 100644 --- a/SMILEBASIC/VM.d +++ b/SMILEBASIC/VM.d @@ -57,6 +57,7 @@ class VMSlot int bp; otya.smilebasic.type.Data currentData; Function currentFunction; + int backtrace; } ExecData execData; } @@ -280,6 +281,7 @@ class VM bp = currentSlot.execData.bp; currentFunction = currentSlot.execData.currentFunction; currentData = currentSlot.execData.currentData; + traceI = currentSlot.execData.backtrace; setCurrentSlot(currentSlot.execReturnAddress.slot); } else @@ -2499,6 +2501,7 @@ class Exec : Code vm.slots[slot].execData.bp = vm.bp; vm.slots[slot].execData.currentFunction = vm.currentFunction; vm.slots[slot].execData.currentData = vm.currentData; + vm.slots[slot].execData.backtrace = vm.traceI; } vm.setCurrentSlot(slot); vm.pc = 0 - 1;