From bfe145acc01eb7a43790173db4f08610ae9cb07a Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Thu, 5 Aug 2004 17:45:37 +0000 Subject: [PATCH] 0.8.13.31: 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 | 20 ++++---------------- src/code/load.lisp | 6 ++++++ version.lisp-expr | 2 +- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/src/code/fop.lisp b/src/code/fop.lisp index 758e8b4..37e79ce 100644 --- a/src/code/fop.lisp +++ b/src/code/fop.lisp @@ -166,17 +166,6 @@ ;;;; 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 @@ -189,12 +178,11 @@ (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) diff --git a/src/code/load.lisp b/src/code/load.lisp index f7a45a6..c4f1131 100644 --- a/src/code/load.lisp +++ b/src/code/load.lisp @@ -336,6 +336,11 @@ #!+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 @@ -383,6 +388,7 @@ (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))) diff --git a/version.lisp-expr b/version.lisp-expr index 9de054a..87b4d6a 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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" -- 1.7.10.4