From a5b574d778df0b10f25b792a95df920fa6bcb488 Mon Sep 17 00:00:00 2001 From: ram <ram> Date: Sat, 20 Apr 1991 14:12:00 +0000 Subject: [PATCH] Use the interface cookie when converting an XEP. --- compiler/locall.lisp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/compiler/locall.lisp b/compiler/locall.lisp index 3324c0b2c..336bd1c71 100644 --- a/compiler/locall.lisp +++ b/compiler/locall.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/locall.lisp,v 1.17 1991/04/04 14:10:18 ram Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/locall.lisp,v 1.18 1991/04/20 14:12:00 ram Exp $") ;;; ;;; ********************************************************************** ;;; @@ -158,7 +158,8 @@ ;;; the result of Make-XEP-Lambda in the correct environment, then associate ;;; this lambda with Fun as its XEP. After the conversion, we iterate over the ;;; function's associated lambdas, redoing local call analysis so that the XEP -;;; calls will get converted. +;;; calls will get converted. We also bind *lexical-environment* to change the +;;; compilation policy over to the interface policy. ;;; ;;; We set Reanalyze and Reoptimize in the component, just in case we ;;; discover an XEP after the initial local call analyze pass. @@ -167,7 +168,10 @@ (declare (type functional fun)) (assert (not (functional-entry-function fun))) (with-ir1-environment (lambda-bind (main-entry fun)) - (let ((res (ir1-convert-lambda (make-xep-lambda fun)))) + (let* ((*lexical-environment* + (make-lexenv :cookie + (make-interface-cookie *lexical-environment*))) + (res (ir1-convert-lambda (make-xep-lambda fun)))) (setf (functional-kind res) :external) (setf (leaf-ever-used res) t) (setf (functional-entry-function res) fun) -- GitLab