Utilize new implementation of vm

This commit is contained in:
2026-02-15 13:24:30 -06:00
parent d44f5d2851
commit b50d3109c0
6 changed files with 318 additions and 34 deletions

View File

@@ -1,13 +1,14 @@
(define-module (scmvm debugger)
#:use-module (scmvm assembler)
#:use-module (scmvm vm)
#:use-module (scmvm vm2)
#:use-module (scmvm vm forth)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (ice-9 control)
#:use-module (ice-9 binary-ports)
#:use-module (ice-9 exceptions)
#:use-module (ice-9 match)
#:export ((make-debugger* . make-debugger) debugger-vm debugger-source
#:export (make-forth-debugger debugger-vm debugger-source
debugger-breakpoints debugger-breakpoints-set!
debugger-breakpoint-add! debugger-breakpoint-ref
debugger-breakpoint-enable! debugger-breakpoint-disable!
@@ -37,7 +38,7 @@
index/label
(car (hash-ref (assembler-labels asm) index/label)))))
(define (make-debugger* asm)
(define (make-forth-debugger asm)
(define prgm
(call-with-values open-bytevector-output-port
(lambda (port get-bv)
@@ -47,14 +48,14 @@
(define (debug)
(shift k
(if (or (debugger-stepping? the-debugger)
(((debugger-breakpoints the-debugger) 'ref) (vm-pc (debugger-vm the-debugger))))
(((debugger-breakpoints the-debugger) 'ref) (forth-vm-pc (debugger-vm the-debugger))))
(debugger-continuation-set! the-debugger k)
(k))))
(define vm (make-vm (assembler-instruction-set asm) #:debugger debug))
(vm-load-program! vm prgm)
(define vm (make-forth-vm (assembler-instruction-set asm)))
(forth-vm-load-program! vm prgm)
(set! the-debugger (make-debugger vm asm (make-breakpoints (label-converter asm)) #f #f))
(debugger-breakpoint-add! the-debugger 1)
(reset (run-vm vm))
(reset (forth-vm-run! vm debug))
the-debugger)
(define (debugger-continue debugger)