guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 01/04: Mark throw, throw/value, etc as having fallthroug


From: Andy Wingo
Subject: [Guile-commits] 01/04: Mark throw, throw/value, etc as having fallthrough
Date: Sat, 2 Dec 2017 15:15:41 -0500 (EST)

wingo pushed a commit to branch master
in repository guile.

commit bcfadf099ae4372094742fc405178f3432a90e45
Author: Andy Wingo <address@hidden>
Date:   Sat Dec 2 19:43:10 2017 +0100

    Mark throw, throw/value, etc as having fallthrough
    
    * module/system/vm/disassembler.scm (instruction-has-fallthrough?): Mark
      throw and so on as having fallthrough.  Doing otherwise breaks
      backtraces.
---
 module/system/vm/disassembler.scm | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/module/system/vm/disassembler.scm 
b/module/system/vm/disassembler.scm
index cb64479..a4c539b 100644
--- a/module/system/vm/disassembler.scm
+++ b/module/system/vm/disassembler.scm
@@ -521,7 +521,12 @@ address of that offset."
 (define (instruction-has-fallthrough? code pos)
   (define non-fallthrough-set
     (static-opcode-set halt
-                       throw throw/value throw/value+data
+                       ;; FIXME: add throw, throw/value,
+                       ;; throw/value+data.  Currently control flow
+                       ;; nominally continues; we don't add these ops to
+                       ;; the non-fallthrough-set currently to allow the
+                       ;; frame parser to be able to compute the stack
+                       ;; size for following code.
                        tail-call tail-call-label tail-call/shuffle
                        return-values
                        subr-call foreign-call continuation-call



reply via email to

[Prev in Thread] Current Thread [Next in Thread]