diff --git a/compiler/globaldb.lisp b/compiler/globaldb.lisp index 33500c22260756bd67b10bbe90773fbc24ca7944..986a0837db7f84638e98028a021ed967c440c6ac 100644 --- a/compiler/globaldb.lisp +++ b/compiler/globaldb.lisp @@ -463,7 +463,21 @@ ;;; (defvar *cached-info-environment*) -(eval-when (compile eval) + +;;; INFO-CACHE-HASH -- Internal +;;; +;;; Hash function used for INFO cache. +;;; +(defmacro info-cache-hash (name type) + `(the fixnum + (logand + (the fixnum + (logxor (the fixnum (cache-hash-eq ,name)) + (the fixnum (ash (the fixnum ,type) 7)))) + #x3FF))) + + +(eval-when (compile #-new-compiler load eval) ;;; INFO-CACHE-INIT -- Internal ;;; @@ -492,19 +506,6 @@ (pushnew 'info-cache-gc-hook *after-gc-hooks*) -;;; INFO-CACHE-HASH -- Internal -;;; -;;; Hash function used for INFO cache. -;;; -(defmacro info-cache-hash (name type) - `(the fixnum - (logand - (the fixnum - (logxor (the fixnum (cache-hash-eq ,name)) - (the fixnum (ash (the fixnum ,type) 7)))) - #x3FF))) - - ;;; CLEAR-INVALID-INFO-CACHE -- Internal ;;; ;;; If the info cache is invalid, then clear it.