1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 22:10:21 +02:00

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.
This commit is contained in:
Andy Wingo 2017-12-02 19:43:10 +01:00
parent 0cbba8efe0
commit bcfadf099a

View file

@ -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