Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

move clearing of *FREE-FUNS* &co to WITH-IR1-NAMESPACE where they're …

…bound
  • Loading branch information...
commit e49315bdf16727acef105d8632d9dcc2c4365395 1 parent 1fd7c4a
@nikodemus nikodemus authored
Showing with 9 additions and 10 deletions.
  1. +9 −4 src/compiler/macros.lisp
  2. +0 −6 src/compiler/main.lisp
View
13 src/compiler/macros.lisp
@@ -692,10 +692,15 @@
(*free-funs* (make-hash-table :test 'equal))
(*constants* (make-hash-table :test 'equal))
(*source-paths* (make-hash-table :test 'eq)))
- (handler-bind ((compiler-error #'compiler-error-handler)
- (style-warning #'compiler-style-warning-handler)
- (warning #'compiler-warning-handler))
- ,@forms)))
+ (unwind-protect
+ (handler-bind ((compiler-error #'compiler-error-handler)
+ (style-warning #'compiler-style-warning-handler)
+ (warning #'compiler-warning-handler))
+ ,@forms)
+ (clrhash *free-funs*)
+ (clrhash *free-vars*)
+ (clrhash *constants*)
+ (clrhash *source-paths*))))
;;; Look up NAME in the lexical environment namespace designated by
;;; SLOT, returning the <value, T>, or <NIL, NIL> if no entry. The
View
6 src/compiler/main.lisp
@@ -745,12 +745,6 @@ Examples:
;;; actually in use, so that this function could go away.
(defun clear-stuff (&optional (debug-too t))
- ;; Clear global tables.
- (when (boundp '*free-funs*)
- (clrhash *free-funs*)
- (clrhash *free-vars*)
- (clrhash *constants*))
-
;; Clear debug counters and tables.
(clrhash *seen-blocks*)
(clrhash *seen-funs*)
Please sign in to comment.
Something went wrong with that request. Please try again.