Changeset 3543
- Timestamp:
- 08/30/03 17:05:12 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/j/src/org/armedbear/lisp/compiler.lisp
r3521 r3543 2 2 ;;; 3 3 ;;; Copyright (C) 2003 Peter Graves 4 ;;; $Id: compiler.lisp,v 1.3 6 2003-08-25 19:17:23piso Exp $4 ;;; $Id: compiler.lisp,v 1.37 2003-08-30 17:05:12 piso Exp $ 5 5 ;;; 6 6 ;;; This program is free software; you can redistribute it and/or … … 186 186 (cons first args))))))) 187 187 188 189 (defun compile-package (pkg &key verbose) 190 (dolist (sym (sys::package-symbols pkg)) 191 (when (fboundp sym) 192 ;; (unless (or (special-operator-p sym) (macro-function sym)) 193 (unless (special-operator-p sym) 194 (let ((f (fdefinition sym))) 195 (unless (compiled-function-p f) 196 (when verbose 197 (format t "compiling ~S~%" sym) 198 (finish-output)) 199 (compile sym)))))) 200 t) 201 202 203 ;; (defun compile (name &optional (definition (fdefinition name))) 204 (defun compile (name &optional definition) 188 (defun %compile (name &optional definition) 205 189 (unless definition 206 190 (setq definition (or (macro-function name) (fdefinition name)))) … … 223 207 (sys::%set-call-count result (sys::%call-count definition)) 224 208 (sys::%set-arglist result (sys::arglist definition)) 225 ;; (setf (fdefinition name) result))226 209 (if (macro-function name) 227 210 (setf (fdefinition name) (sys::make-macro result)) … … 229 212 (values (or name result) nil nil))) 230 213 214 (defun compile-package (pkg &key verbose) 215 (dolist (sym (sys::package-symbols pkg)) 216 (when (fboundp sym) 217 ;; (unless (or (special-operator-p sym) (macro-function sym)) 218 (unless (special-operator-p sym) 219 (let ((f (fdefinition sym))) 220 (unless (compiled-function-p f) 221 (when verbose 222 (format t "compiling ~S~%" sym) 223 (finish-output)) 224 (%compile sym)))))) 225 t) 226 231 227 (compile-package :compiler) 232 228 (compile-package :sys) … … 234 230 235 231 (in-package :cl) 232 233 (defun compile (name &optional definition) 234 (c::%compile name definition)) 236 235 237 236 ;; Redefine DEFUN to compile the definition on the fly. … … 239 238 `(prog1 240 239 (sys::%defun ',name ',lambda-list ',body) 241 (compile ',name)))240 (compiler::%compile ',name))) 242 241 243 242 ;; Redefine DEFMACRO to compile the expansion function on the fly. … … 250 249 `(progn 251 250 (if (special-operator-p ',name) 252 (sys::%put ',name 'macroexpand-macro (sys::make-macro (compile nil ,expander))) 253 (sys::fset ',name (sys::make-macro (compile nil ,expander)))) 251 (sys::%put ',name 252 'macroexpand-macro 253 (sys::make-macro (c::%compile nil ,expander))) 254 (sys::fset ',name 255 (sys::make-macro (c::%compile nil ,expander)))) 254 256 ',name))) 255 257
Note: See TracChangeset
for help on using the changeset viewer.