Utilize new implementation of vm
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user