Skip to content
Snippets Groups Projects
Commit c47fd1b2 authored by ram's avatar ram
Browse files

Added FLUSH-INTERPRETED-FUNCTION-CACHE so that we can prevent interpreted stuff

from being unnecessarily retained in saved cores.
parent e26eded2
No related branches found
No related tags found
No related merge requests found
...@@ -7,11 +7,11 @@ ...@@ -7,11 +7,11 @@
;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;; ;;;
(ext:file-comment (ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/eval.lisp,v 1.16 1991/02/20 14:57:25 ram Exp $") "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/eval.lisp,v 1.17 1991/04/09 14:40:43 ram Exp $")
;;; ;;;
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/eval.lisp,v 1.16 1991/02/20 14:57:25 ram Exp $ ;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/eval.lisp,v 1.17 1991/04/09 14:40:43 ram Exp $
;;; ;;;
;;; This file contains the interpreter. We first convert to the compiler's ;;; This file contains the interpreter. We first convert to the compiler's
;;; IR1 and interpret that. ;;; IR1 and interpret that.
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
(export '(internal-eval *eval-stack-trace* *internal-apply-node-trace* (export '(internal-eval *eval-stack-trace* *internal-apply-node-trace*
*interpreted-function-cache-minimum-size* *interpreted-function-cache-minimum-size*
*interpreted-function-cache-threshold* *interpreted-function-cache-threshold*
flush-interpreted-function-cache
trace-eval interpreted-function-p trace-eval interpreted-function-p
interpreted-function-lambda-expression interpreted-function-lambda-expression
interpreted-function-closure interpreted-function-closure
...@@ -341,6 +342,16 @@ ...@@ -341,6 +342,16 @@
(pushnew 'interpreter-gc-hook ext:*before-gc-hooks*) (pushnew 'interpreter-gc-hook ext:*before-gc-hooks*)
;;; FLUSH-INTERPRETED-FUNCTION-CACHE -- Interface
;;;
(defun flush-interpreted-function-cache ()
"Clear all entries in the eval function cache. This allows the internal
representation of the functions to be reclaimed, and also lazily forces
macroexpansions to be recomputed."
(dolist (fun *interpreted-function-cache*)
(setf (eval-function-definition fun) nil))
(setq *interpreted-function-cache* ()))
;;;; INTERNAL-APPLY-LOOP macros. ;;;; INTERNAL-APPLY-LOOP macros.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment