diff --git a/module/system/vm/trace.scm b/module/system/vm/trace.scm index 1b64dbeb4..8a07b043f 100644 --- a/module/system/vm/trace.scm +++ b/module/system/vm/trace.scm @@ -85,12 +85,13 @@ (set! *call-depth* 0)))) (define (trace-next frame) - (let* ((ip (frame-instruction-pointer frame)) - (objcode (program-objcode (frame-procedure frame))) - (opcode (bytevector-u8-ref (objcode->bytecode objcode) - (+ ip *objcode-header-len*))) - (inst (opcode->instruction opcode))) - (format #t "0x~8X: ~a: ~a\n" ip opcode inst))) + (if *call-depth* + (let* ((ip (frame-instruction-pointer frame)) + (objcode (program-objcode (frame-procedure frame))) + (opcode (bytevector-u8-ref (objcode->bytecode objcode) + (+ ip *objcode-header-len*))) + (inst (opcode->instruction opcode))) + (format #t "0x~8X: ~a: ~a\n" ip opcode inst)))) (define (vm-trace-on!) (if calls?