diff options
Diffstat (limited to 'module/system/vm/frame.scm')
-rw-r--r-- | module/system/vm/frame.scm | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/module/system/vm/frame.scm b/module/system/vm/frame.scm index ac5fbf6f5..b84f6683e 100644 --- a/module/system/vm/frame.scm +++ b/module/system/vm/frame.scm @@ -206,7 +206,10 @@ (when (< offset 0) (error "ip did not correspond to an instruction boundary?")) (if (zero? offset) - (let ((live (if top-frame? + ;; It shouldn't be the case that both OFFSET and N are zero + ;; but TOP-FRAME? is false. Still, it could happen, as is + ;; currently the case in frame-arguments. + (let ((live (if (or top-frame? (zero? n)) (vector-ref inv n) ;; If we're not at a top frame, the IP points ;; to the continuation -- but we haven't |