From 9e94cd9bf504b99adbf4f6825ab09efcbf02656f Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Sat, 5 Apr 2014 12:16:34 +0200 Subject: [PATCH] Prune bailouts after contification * module/language/cps/compile-bytecode.scm (optimize): Prune bailouts after contifying, so that we return to the tail of the contified function. --- module/language/cps/compile-bytecode.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/module/language/cps/compile-bytecode.scm b/module/language/cps/compile-bytecode.scm index c28d4d7e7..a4d96adcd 100644 --- a/module/language/cps/compile-bytecode.scm +++ b/module/language/cps/compile-bytecode.scm @@ -63,14 +63,14 @@ ;; called. The last is mainly to eliminate rest parameters that ;; aren't used, and thus shouldn't be consed. - (let* ((exp (run-pass exp prune-bailouts #:prune-bailouts? #t)) - (exp (run-pass exp eliminate-dead-code #:eliminate-dead-code? #t)) + (let* ((exp (run-pass exp eliminate-dead-code #:eliminate-dead-code? #t)) (exp (run-pass exp prune-top-level-scopes #:prune-top-level-scopes? #t)) (exp (run-pass exp simplify #:simplify? #t)) (exp (run-pass exp contify #:contify? #t)) (exp (run-pass exp inline-constructors #:inline-constructors? #t)) (exp (run-pass exp specialize-primcalls #:specialize-primcalls? #t)) (exp (run-pass exp elide-values #:elide-values? #t)) + (exp (run-pass exp prune-bailouts #:prune-bailouts? #t)) (exp (run-pass exp eliminate-common-subexpressions #:cps-cse? #t)) (exp (run-pass exp eliminate-dead-code #:eliminate-dead-code? #t)) (exp (run-pass exp simplify #:simplify? #t)))