From 69a54ecb6aca5778b0f4f419363269f062d68499 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Tue, 1 Aug 2017 18:43:33 -0400 Subject: [PATCH] Added constant folding back --- scheme/cyclone/cps-optimizations.sld | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/scheme/cyclone/cps-optimizations.sld b/scheme/cyclone/cps-optimizations.sld index 5164e4eb..05cf4d4e 100644 --- a/scheme/cyclone/cps-optimizations.sld +++ b/scheme/cyclone/cps-optimizations.sld @@ -62,7 +62,7 @@ adbf:side-effects adbf:set-side-effects! ) (begin - #;(define + (define *contract-env* (let ((env (create-environment '() '()))) (eval '(define Cyc-fast-plus +) env) @@ -719,13 +719,12 @@ fnc (map (lambda (e) (opt:contract e)) (cdr exp))))) ;; Perform constant folding if possible - ;;(if (and (prim-call? exp) - ;; (precompute-prim-app? result)) - ;; (with-handler ;; Safety check, keep going if eval fails - ;; (lambda (err) result) - ;; (eval result *contract-env*)) - ;; result)) - result) + (if (and (prim-call? exp) + (precompute-prim-app? result)) + (with-handler ;; Safety check, keep going if eval fails + (lambda (err) result) + (eval result *contract-env*)) + result)) )))) (else (error "CPS optimize [1] - Unknown expression" exp))))