X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fearly-c.lisp;h=b313fcc4f34a54e3a9393c7d8784ca526a5299d8;hb=b7d22ded1428e8d3e87c37164aa6742dd28aa6ce;hp=754940027e04c7550f48d571cba7b5495288352b;hpb=a160917364f85b38dc0826a5e3dcef87e3c4c62c;p=sbcl.git diff --git a/src/compiler/early-c.lisp b/src/compiler/early-c.lisp index 7549400..b313fcc 100644 --- a/src/compiler/early-c.lisp +++ b/src/compiler/early-c.lisp @@ -93,6 +93,7 @@ (defvar *current-path*) (defvar *current-component*) (defvar *delayed-ir1-transforms*) +(defvar *eval-tlf-index*) (defvar *handled-conditions*) (defvar *disabled-package-locks*) (defvar *policy*) @@ -104,9 +105,15 @@ (defvar *fixup-notes*) (defvar *in-pack*) (defvar *info-environment*) +#!+inline-constants +(progn + (defvar *constant-segment*) + (defvar *constant-table*) + (defvar *constant-vector*)) (defvar *lexenv*) (defvar *source-info*) (defvar *source-plist*) +(defvar *source-namestring*) (defvar *trace-table*) (defvar *undefined-warnings*) (defvar *warnings-p*) @@ -122,13 +129,13 @@ the stack without triggering overflow protection.") (!begin-collecting-cold-init-forms) ;;; This lock is seized in the compiler, and related areas -- like the ;;; classoid/layout/class system. -(defvar *world-lock*) +(defglobal **world-lock** nil) (!cold-init-forms - (setf *world-lock* (sb!thread:make-mutex :name "World Lock"))) + (setf **world-lock** (sb!thread:make-mutex :name "World Lock"))) (!defun-from-collected-cold-init-forms !world-lock-cold-init) (defmacro with-world-lock (() &body body) - `(sb!thread:with-recursive-lock (*world-lock*) + `(sb!thread:with-recursive-lock (**world-lock**) ,@body)) (declaim (type fixnum *compiler-sset-counter*)) @@ -181,7 +188,8 @@ the stack without triggering overflow protection.") ;; FIXME: should be COMPILER-STYLE-WARNING? (style-warn 'sb!kernel:asterisks-around-lexical-variable-name :format-control - "using the lexical binding of the symbol ~S, not the~@ + "using the lexical binding of the symbol ~ + ~/sb-impl::print-symbol-with-prefix/, not the~@ dynamic binding" :format-arguments (list symbol))) (values)) @@ -222,7 +230,7 @@ the stack without triggering overflow protection.") (setf *debug-name-sharp* (make-debug-name-marker) *debug-name-ellipsis* (make-debug-name-marker)) -(defun debug-name (type thing) +(defun debug-name (type thing &optional context) (let ((*debug-name-punt* nil)) (labels ((walk (x) (typecase x @@ -249,7 +257,7 @@ the stack without triggering overflow protection.") x) (t (type-of x))))) - (let ((name (list type (walk thing)))) + (let ((name (list* type (walk thing) (when context (name-context))))) (when (legal-fun-name-p name) (bug "~S is a legal function name, and cannot be used as a ~ debug name." name))