0.8.13.31:
authorNathan Froyd <froydnj@cs.rice.edu>
Thu, 5 Aug 2004 17:45:37 +0000 (17:45 +0000)
committerNathan Froyd <froydnj@cs.rice.edu>
Thu, 5 Aug 2004 17:45:37 +0000 (17:45 +0000)
Handle FIXME in src/code/fop.lisp:
... rename *LOAD-SYMBOL-BUFFER* to *FASL-SYMBOL-BUFFER*
... bind it on entrance to LOAD-AS-FASL

src/code/fop.lisp
src/code/load.lisp
version.lisp-expr

index 758e8b4..37e79ce 100644 (file)
 \f
 ;;;; fops for loading symbols
 
-(defvar *load-symbol-buffer* (make-string 100))
-(declaim (simple-string *load-symbol-buffer*))
-(defvar *load-symbol-buffer-size* 100)
-(declaim (type index *load-symbol-buffer-size*))
-;;; FIXME:
-;;;   (1) *LOAD-SYMBOL-BUFFER-SIZE* is redundant, should just be
-;;;       (LENGTH *LOAD-SYMBOL-BUFFER*).
-;;;   (2) *LOAD-SYMBOL-BUFFER* should not have a global value, but should
-;;;       be bound on entry to FASL loading, and it should be renamed to
-;;;       *FASL-SYMBOL-BUFFER*.
-
 (macrolet (;; FIXME: Should all this code really be duplicated inside
           ;; each fop? Perhaps it would be better for this shared
           ;; code to live in FLET FROB1 and FLET FROB4 (for the
                  (prepare-for-fast-read-byte *fasl-input-stream*
                    (let ((,n-package ,package)
                          (,n-size (fast-read-u-integer ,name-size)))
-                     (when (> ,n-size *load-symbol-buffer-size*)
-                       (setq *load-symbol-buffer*
-                             (make-string (setq *load-symbol-buffer-size*
-                                                (* ,n-size 2)))))
+                     (when (> ,n-size (length *fasl-symbol-buffer*))
+                       (setq *fasl-symbol-buffer*
+                             (make-string (* ,n-size 2))))
                      (done-with-fast-read-byte)
-                     (let ((,n-buffer *load-symbol-buffer*))
+                     (let ((,n-buffer *fasl-symbol-buffer*))
                        (read-string-as-bytes *fasl-input-stream*
                                              ,n-buffer
                                              ,n-size)
index f7a45a6..c4f1131 100644 (file)
 #!+sb-show
 (defvar *show-fops-p* nil)
 
+;; buffer for loading symbols
+(defvar *fasl-symbol-buffer*)
+(declaim (simple-string *fasl-symbol-buffer*))
+
+;;; 
 ;;; a helper function for LOAD-AS-FASL
 ;;;
 ;;; Return true if we successfully load a group from the stream, or
   (maybe-announce-load stream verbose)
   (sb!thread:with-recursive-lock (sb!c::*big-compiler-lock*)
     (let* ((*fasl-input-stream* stream)
+           (*fasl-symbol-buffer* (make-string 100))
           (*current-fop-table* (or (pop *free-fop-tables*) (make-array 1000)))
           (*current-fop-table-size* (length *current-fop-table*))
           (*fop-stack* (make-array 100 :fill-pointer 0 :adjustable t)))
index 9de054a..87b4d6a 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.13.30"
+"0.8.13.31"