simplify primitives.scm for dynwind
authorAndy Wingo <wingo@pobox.com>
Wed, 9 Nov 2011 15:44:59 +0000 (16:44 +0100)
committerAndy Wingo <wingo@pobox.com>
Wed, 9 Nov 2011 15:54:43 +0000 (16:54 +0100)
* module/language/tree-il/primitives.scm (*primitive-expand-table*):
  Remove a dynwind hack, as we have a good inliner now.

module/language/tree-il/primitives.scm

index 172150b..f7bb5ca 100644 (file)
             'dynamic-wind
             (case-lambda
               ((src pre thunk post)
-               ;; Here we will make concessions to the fact that our inliner is
-               ;; lame, and add a hack.
-               (cond
-                ((lambda? thunk)
-                 (let ((PRE (gensym " pre"))
-                       (POST (gensym " post")))
-                   (make-let
-                    src
-                    '(pre post)
-                    (list PRE POST)
-                    (list pre post)
-                    (make-dynwind
-                     src
-                     (make-lexical-ref #f 'pre PRE)
-                     (make-application #f thunk '())
-                     (make-lexical-ref #f 'post POST)))))
-                (else
-                 (let ((PRE (gensym " pre"))
-                       (THUNK (gensym " thunk"))
-                       (POST (gensym " post")))
-                   (make-let
-                    src
-                    '(pre thunk post)
-                    (list PRE THUNK POST)
-                    (list pre thunk post)
-                    (make-dynwind
-                     src
-                     (make-lexical-ref #f 'pre PRE)
-                     (make-application #f (make-lexical-ref #f 'thunk THUNK) '())
-                     (make-lexical-ref #f 'post POST)))))))
+               (let ((PRE (gensym " pre"))
+                     (THUNK (gensym " thunk"))
+                     (POST (gensym " post")))
+                 (make-let
+                  src
+                  '(pre thunk post)
+                  (list PRE THUNK POST)
+                  (list pre thunk post)
+                  (make-dynwind
+                   src
+                   (make-lexical-ref #f 'pre PRE)
+                   (make-application #f (make-lexical-ref #f 'thunk THUNK) '())
+                   (make-lexical-ref #f 'post POST)))))
               (else #f)))
 
 (hashq-set! *primitive-expand-table*