mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
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.
This commit is contained in:
parent
2ead789c80
commit
4f07ad793f
|
|
@ -428,7 +428,7 @@ returns a pointer to the location specified by
|
|||
|
||||
<synopsis>(sb-alien:cast foreign-value new-type)</synopsis>
|
||||
|
||||
<para>The <function>sb-alien:cast</function>
|
||||
<para>The <function>sb-alien:cast</function> macro
|
||||
converts <varname>foreign-value</varname> to a new foreign value with the specified
|
||||
<varname>new-type</varname>. Both types, old and new, must be foreign pointer,
|
||||
array or function types. Note that the resulting Lisp
|
||||
|
|
@ -622,9 +622,10 @@ the operator <function>sb-alien:get-errno</function> to allow Lisp code to read
|
|||
<para>
|
||||
The <function>extern-alien</function> macro
|
||||
returns an alien with the specified <type>type</type> which
|
||||
points to an externally defined value. <varname>name</varname> is not evaluated,
|
||||
and may be either a string or a symbol. <type>type</type> is
|
||||
an unevaluated alien type specifier.
|
||||
points to an externally defined value.
|
||||
<varname>name</varname> is not evaluated,
|
||||
and may be either a string or a symbol.
|
||||
<type>type</type> is an unevaluated alien type specifier.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
|
|
|||
|
|
@ -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.)
|
||||
|
|
|
|||
|
|
@ -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)))
|
||||
|
|
|
|||
|
|
@ -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)))
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Reference in a new issue