Adds destructor for passed CpuState.

This commit is contained in:
Felix Queissner 2015-10-13 15:04:02 +02:00
parent e8156fea82
commit 5b5b381a2c
4 changed files with 11 additions and 5 deletions

View file

@ -54,6 +54,5 @@ namespace csl
#undef COPY #undef COPY
return VMValue(CpuStateType, &object); return VMValue(CpuStateType, &object);
} }
} }

View file

@ -66,7 +66,8 @@ BEGIN
IF scancode = 1u8 THEN IF scancode = 1u8 THEN
shutdown(); shutdown();
END END
END END
~data;
END END
#! #!
@ -81,4 +82,7 @@ Was noch gemacht werden muss, bis der Tastatur-Treiber funktionieren könnte:
☑ Bitwise Operations ☑ Bitwise Operations
☑ outb und inb ☑ outb und inb
☐ eventuell hex literals für Copper ☐ eventuell hex literals für Copper
☐ NEW/DELETE
☐ [TYPE] →
☐ ~()
!# !#

View file

@ -1,6 +1,6 @@
; ============================================= ; =============================================
; compiled with Copper 1.0 ; compiled with Copper 1.0
; 2015-10-13 12:52:49 ; 2015-10-13 14:57:24
; ============================================= ; =============================================
; native method: print(…) ; native method: print(…)
@ -140,6 +140,9 @@ _private_7:
_private_6: _private_6:
load -2
destruct
ret ret
; end of irq ; end of irq

View file

@ -182,7 +182,7 @@ extern "C" void vm_start()
CpuState *cpu = &irqFiFo.items[irqFiFo.read]; CpuState *cpu = &irqFiFo.items[irqFiFo.read];
/* //*
Thread *thread = irqService->createThread(irqRoutine); Thread *thread = irqService->createThread(irqRoutine);
thread->start({ thread->start({
VMValue::Int32(cpu->intr), VMValue::Int32(cpu->intr),
@ -207,7 +207,7 @@ extern "C" void vm_start()
kprintf("OS failed with: %s\n", execptionName(mainThread->exception())); kprintf("OS failed with: %s\n", execptionName(mainThread->exception()));
shutdownRequested = true; // shutdownRequested = true;
} }
} }
} }