From: William Harold Newman Date: Fri, 12 Dec 2003 04:34:32 +0000 (+0000) Subject: 0.8.6.36: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=4f07ad793f1a0b3d379ffe412f4cf92a137dccae;p=sbcl.git 0.8.6.36: tidying... ...fiddling with TRACE docs in anticipation of actually making it do PROFILEing as intended ...small doc/ fixes ...(re-?)deleted FOP-CHARACTER since it's still speculative generality (will presumably be added back when Unicode comes, but isn't helpful now, and would be only infinitesimally helpful then, since it's untested now and so easy to add then) ...MORE LOC: broke some long lines ...stdlog seemed to be unused. --- diff --git a/doc/ffi.xml b/doc/ffi.xml index a111930..c054bb2 100644 --- a/doc/ffi.xml +++ b/doc/ffi.xml @@ -428,7 +428,7 @@ returns a pointer to the location specified by (sb-alien:cast foreign-value new-type) -The sb-alien:cast +The sb-alien:cast macro converts foreign-value to a new foreign value with the specified new-type. Both types, old and new, must be foreign pointer, array or function types. Note that the resulting Lisp @@ -622,9 +622,10 @@ the operator sb-alien:get-errno to allow Lisp code to read The extern-alien macro returns an alien with the specified type which -points to an externally defined value. name is not evaluated, -and may be either a string or a symbol. type is -an unevaluated alien type specifier. +points to an externally defined value. +name is not evaluated, +and may be either a string or a symbol. +type is an unevaluated alien type specifier. diff --git a/src/code/fop.lisp b/src/code/fop.lisp index 26b7234..3bedb4c 100644 --- a/src/code/fop.lisp +++ b/src/code/fop.lisp @@ -123,8 +123,6 @@ #-sb-xc-host (%primitive sb!c:make-other-immediate-type 0 sb!vm:unbound-marker-widetag)) -(define-fop (fop-character 68) - (code-char (read-arg 3))) ;;; CMU CL had FOP-CHARACTER as fop 68, but it's not needed in current ;;; SBCL as we have no extended characters, only 1-byte characters. ;;; (Ditto for CMU CL, actually: FOP-CHARACTER was speculative generality.) diff --git a/src/code/ntrace.lisp b/src/code/ntrace.lisp index 609be52..03eac59 100644 --- a/src/code/ntrace.lisp +++ b/src/code/ntrace.lisp @@ -1,4 +1,4 @@ -;;;; a tracing facility based on breakpoints +;;;; a tracing facility ;;;; This software is part of the SBCL system. See the README file for ;;;; more information. @@ -497,8 +497,8 @@ "TRACE {Option Global-Value}* {Name {Option Value}*}* TRACE is a debugging tool that provides information when specified functions are called. In its simplest form: - (trace Name-1 Name-2 ...) - (The Names are not evaluated.) + (TRACE NAME-1 NAME-2 ...) + (The NAMEs are not evaluated.) Options allow modification of the default behavior. Each option is a pair of an option keyword and a value form. Global options are specified before @@ -530,6 +530,7 @@ evaluates to true at the time of the call. :CONDITION-AFTER is similar, but suppresses the initial printout, and is tested when the function returns. :CONDITION-ALL tries both before and after. + This option is not supported with :REPORT PROFILE. :BREAK Form :BREAK-AFTER Form @@ -544,13 +545,14 @@ In addition to the usual printout, the result of evaluating Form is printed at the start of the function, at the end of the function, or both, according to the respective option. Multiple print options cause - multiple values to be printed. + multiple values to be printed. :WHEREIN Names If specified, Names is a function name or list of names. TRACE does nothing unless a call to one of those functions encloses the call to this function (i.e. it would appear in a backtrace.) Anonymous - functions have string names like \"DEFUN FOO\". + functions have string names like \"DEFUN FOO\". This option is not + supported with :REPORT PROFILE. :ENCAPSULATE {:DEFAULT | T | NIL} If T, the tracing is done via encapsulation (redefining the function @@ -563,11 +565,13 @@ :FUNCTION Function-Form This is a not really an option, but rather another way of specifying what function to trace. The Function-Form is evaluated immediately, - and the resulting function is traced. + and the resulting function is instrumented, i.e. traced or profiled + as specified in REPORT. - :CONDITION, :BREAK and :PRINT forms are evaluated in the lexical environment - of the called function; SB-DEBUG:VAR and SB-DEBUG:ARG can be used. The - -AFTER and -ALL forms are evaluated in the null environment." + :CONDITION, :BREAK and :PRINT forms are evaluated in a context which + mocks up the lexical environment of the called function, so that + SB-DEBUG:VAR and SB-DEBUG:ARG can be used. The -AFTER and -ALL forms + are evaluated in the null environment." (if specs (expand-trace specs) '(%list-traced-funs))) diff --git a/src/compiler/generic/genesis.lisp b/src/compiler/generic/genesis.lisp index 485d71b..fce01cf 100644 --- a/src/compiler/generic/genesis.lisp +++ b/src/compiler/generic/genesis.lisp @@ -716,20 +716,32 @@ (ecase sb!c:*backend-byte-order* (:little-endian (write-wordindexed des sb!vm:complex-double-float-real-slot low-bits) - (write-wordindexed des (1+ sb!vm:complex-double-float-real-slot) high-bits)) + (write-wordindexed des + (1+ sb!vm:complex-double-float-real-slot) + high-bits)) (:big-endian (write-wordindexed des sb!vm:complex-double-float-real-slot high-bits) - (write-wordindexed des (1+ sb!vm:complex-double-float-real-slot) low-bits)))) + (write-wordindexed des + (1+ sb!vm:complex-double-float-real-slot) + low-bits)))) (let* ((imag (imagpart num)) (high-bits (make-random-descriptor (double-float-high-bits imag))) (low-bits (make-random-descriptor (double-float-low-bits imag)))) (ecase sb!c:*backend-byte-order* (:little-endian - (write-wordindexed des sb!vm:complex-double-float-imag-slot low-bits) - (write-wordindexed des (1+ sb!vm:complex-double-float-imag-slot) high-bits)) + (write-wordindexed des + sb!vm:complex-double-float-imag-slot + low-bits) + (write-wordindexed des + (1+ sb!vm:complex-double-float-imag-slot) + high-bits)) (:big-endian - (write-wordindexed des sb!vm:complex-double-float-imag-slot high-bits) - (write-wordindexed des (1+ sb!vm:complex-double-float-imag-slot) low-bits)))) + (write-wordindexed des + sb!vm:complex-double-float-imag-slot + high-bits) + (write-wordindexed des + (1+ sb!vm:complex-double-float-imag-slot) + low-bits)))) des)) ;;; Copy the given number to the core. @@ -1760,12 +1772,14 @@ (ash value -2))) (:lui (setf (bvref-32 gspace-bytes gspace-byte-offset) - (logior (mask-field (byte 16 16) (bvref-32 gspace-bytes gspace-byte-offset)) + (logior (mask-field (byte 16 16) + (bvref-32 gspace-bytes gspace-byte-offset)) (+ (ash value -16) (if (logbitp 15 value) 1 0))))) (:addi (setf (bvref-32 gspace-bytes gspace-byte-offset) - (logior (mask-field (byte 16 16) (bvref-32 gspace-bytes gspace-byte-offset)) + (logior (mask-field (byte 16 16) + (bvref-32 gspace-bytes gspace-byte-offset)) (ldb (byte 16 0) value)))))) (:ppc (ecase kind @@ -1897,7 +1911,9 @@ forms)) (setf (svref *cold-fop-funs* ,code) #',fname)))) -(defmacro clone-cold-fop ((name &key (pushp t) (stackp t)) (small-name) &rest forms) +(defmacro clone-cold-fop ((name &key (pushp t) (stackp t)) + (small-name) + &rest forms) (aver (member pushp '(nil t))) (aver (member stackp '(nil t))) `(progn @@ -1929,8 +1945,6 @@ (define-cold-fop (fop-misc-trap) *unbound-marker*) -(define-cold-fop (fop-character) - (make-character-descriptor (read-arg 3))) (define-cold-fop (fop-short-character) (make-character-descriptor (read-arg 1))) @@ -2806,13 +2820,18 @@ ;; type things. We therefore don't export it, but instead do #!+sparc (when (boundp 'sb!vm::pseudo-atomic-trap) - (format t "#define PSEUDO_ATOMIC_TRAP ~D /* 0x~:*~X */~%" sb!vm::pseudo-atomic-trap) + (format t + "#define PSEUDO_ATOMIC_TRAP ~D /* 0x~:*~X */~%" + sb!vm::pseudo-atomic-trap) (terpri)) ;; possibly this is another candidate for a rename (to ;; pseudo-atomic-trap-number or pseudo-atomic-magic-constant ;; [possibly applicable to other platforms]) - (dolist (symbol '(sb!vm::float-traps-byte sb!vm::float-exceptions-byte sb!vm::float-sticky-bits sb!vm::float-rounding-mode)) + (dolist (symbol '(sb!vm::float-traps-byte + sb!vm::float-exceptions-byte + sb!vm::float-sticky-bits + sb!vm::float-rounding-mode)) (format t "#define ~A_POSITION ~A /* ~:*0x~X */~%" (substitute #\_ #\- (symbol-name symbol)) (sb!xc:byte-position (symbol-value symbol))) diff --git a/src/runtime/runtime.c b/src/runtime/runtime.c index 72fc56a..18f617f 100644 --- a/src/runtime/runtime.c +++ b/src/runtime/runtime.c @@ -175,8 +175,6 @@ BSD-style licenses. See the CREDITS and COPYING files in the\n\ distribution for more information.\n\ ", SBCL_VERSION_STRING); } - -FILE *stdlog; int diff --git a/version.lisp-expr b/version.lisp-expr index 1b6b972..cd7aefc 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.6.35" +"0.8.6.36"