- Aug 08, 2003
-
-
emarsden authored
-
emarsden authored
the condition that caused entry into the debugger.
-
emarsden authored
structural and the definition locks for all existing packages. Add an additional restart to the PACKAGE-LOCKED-ERROR signaling points that allows the user to disable all packages then continue. Package locks are initialized upon startup, so the unlocking only takes effect during the current session. However, this function doesn't suffer from the problem that affects LISP::*ENABLE-PACKAGE-LOCKED-ERRORS* (which is bound by LOAD so can't be set from an initialization file).
-
emarsden authored
"unix") is specified by $DISPLAY. ;; If the $DISPLAY does not specify a hostname (for instance ;; ":0"), or if the hostname is the special case of "unix", we ;; connect to the X server using the :unix protocol. This is the ;; most efficient transport to the local host, most often a Unix ;; domain socket. In all other cases, we use the :tcp protocol.
-
- Aug 07, 2003
- Aug 06, 2003
-
-
gerd authored
bootstrapping. (defun prn (fn) (print (funcall fn))) (defun foo (x) (flet ((bar () x)) (declare (dynamic-extent #'bar)) (prn #'bar))) => The closure for BAR is allocated from the stack * src/compiler/node.lisp (lexenv): Add slot dynamic-extent. * src/compiler/ir1util.lisp (make-lexenv): Add keyword arg for dynamic-extent. * src/code/defstruct.lisp (%redefine-defstruct) [#+bootstrap-dynamic-extent]: Definition that corresponds to to the clobber-it restart. * src/compiler/ir1tran.lisp (process-dynamic-extent-declaration): Rewritten. * src/compiler/x86/alloc.lisp (make-closure): Add constant arg dynamic-extent, and use it for allocation. * src/compiler/ir2tran.lisp (ir2-convert-closure) [#+x86]: Pass dynamic-extent to the make-closure vop.
-
gerd authored
user-settable variable and an interface function that can be used across backends. * src/compiler/globaldb.lisp (*trust-dynamic-extent-declarations*): New variable. (trust-dynamic-extent-declaration-p): New function. * src/compiler/x86/macros.lisp (allocation): Use it. * src/compiler/sparc/macros.lisp (allocation): Use it. * src/code/exports.lisp ("EXTENSIONS"): Export *trust-dynamic-extent-declarations*. * src/code/exports.lisp ("C"): Export trust-dynamic-extent-declaration-p.
-
- Aug 05, 2003
-
-
toy authored
(version NIL) and we're looking for version :NEWEST, since that's what no explicit version means.
-
gerd authored
greater than safety for stack-allocation to actually happen, which is what ACL defaults to. Use boot15.lisp to bootstrap. * src/bootfiles/18e/boot15.lisp: New file. * src/compiler/node.lisp (leaf): Add slot dynamic-extent. * src/compiler/x86/macros.lisp (load-size, inline-allocation) (not-inline-allocation): Extract from function allocation. (stack-allocation): New function. (allocation): Add arg dynamic-extent. Call stack-allocation if dynamic-extent is true, and speed > safety. * src/compiler/x86/call.lisp (listify-rest-args): Add constant third arg, and pass it to allocation. * src/code/class.lisp (find-layout): Put part in #-bootstrap-dynamic-extent. * src/compiler/ir1tran.lisp (process-dynamic-extent-declaration): New function. (*suppress-dynamic-extent-declaration*): New variable. (process-1-declaration): Call process-dynamic-extent-declaration. (convert-more-entry) [#+x86]: Call %listify-rest-args with third arg dynamic-extent. * src/compiler/eval-comp.lisp (%listify-rest-args) [#+x86]: * src/compiler/fndb.lisp (%listify-rest-args) [#+x86]: Add third arg for dynamic-extent. Possibly temporary workaround for SBCL build problems caused by a situation like (defvar *foo*) (declaim (type foo *foo*)) (defstruct foo) (defun foo () (let ((*foo* (some-unknown-function))) ...)) When a type check is being generated for the local binding of *foo*, *foo*'s type in the info database is still an unknown-type. The typep transform generates a call to %instance-typep, because it knows that foo is an instance. The deftransform for %instance-typep does not run, so an actual call to %instance-typep is being generated. A function %instance-typep doesn't exist at run time, though. * src/compiler/ir1tran.lisp (find-free-variable): If the variable's type is an unknown-type, reparse it, and change the type in the info database.
-
emarsden authored
-
- Aug 04, 2003
-
-
gerd authored
unknown types. From SBCL.
-
- Aug 03, 2003
-
-
gerd authored
have according to CLtS. Found by Paul Dietz. Use boot14.lisp to bootstrap. * src/compiler/generic/utils.lisp (fixnumize): Renamed from fixnum. * src/bootfiles/18e/boot14.lisp: New file. * src/code/exports.lisp ("VM"): Export fixnumize. * src/assembly/alpha/arith.lisp, src/assembly/alpha/array.lisp: * src/assembly/alpha/assem-rtns.lisp, src/assembly/hppa/arith.lisp * src/assembly/hppa/array.lisp, src/assembly/hppa/assem-rtns.lisp * src/assembly/mips/alloc.lisp, src/assembly/mips/arith.lisp * src/assembly/mips/array.lisp, src/assembly/mips/assem-rtns.lisp * src/assembly/mips/bit-bash.lisp, src/assembly/ppc/arith.lisp * src/assembly/ppc/array.lisp, src/assembly/ppc/assem-rtns.lisp * src/assembly/rt/alloc.lisp, src/assembly/rt/arith.lisp * src/assembly/rt/array.lisp, src/assembly/rt/assem-rtns.lisp * src/assembly/sparc/arith.lisp, src/assembly/sparc/array.lisp * src/assembly/sparc/assem-rtns.lisp, src/assembly/x86/arith.lisp * src/assembly/x86/array.lisp, src/assembly/x86/assem-rtns.lisp * src/compiler/alpha/alloc.lisp, src/compiler/alpha/arith.lisp * src/compiler/alpha/array.lisp, src/compiler/alpha/call.lisp * src/compiler/alpha/move.lisp, src/compiler/alpha/nlx.lisp * src/compiler/alpha/static-fn.lisp, src/compiler/alpha/subprim.lisp * src/compiler/alpha/values.lisp, src/compiler/generic/utils.lisp * src/compiler/hppa/alloc.lisp, src/compiler/hppa/arith.lisp * src/compiler/hppa/array.lisp, src/compiler/hppa/call.lisp * src/compiler/hppa/move.lisp, src/compiler/hppa/nlx.lisp * src/compiler/hppa/static-fn.lisp, src/compiler/hppa/subprim.lisp * src/compiler/hppa/values.lisp, src/compiler/mips/alloc.lisp * src/compiler/mips/arith.lisp, src/compiler/mips/array.lisp * src/compiler/mips/call.lisp, src/compiler/mips/move.lisp * src/compiler/mips/nlx.lisp, src/compiler/mips/static-fn.lisp * src/compiler/mips/subprim.lisp, src/compiler/mips/values.lisp * src/compiler/ppc/alloc.lisp, src/compiler/ppc/arith.lisp * src/compiler/ppc/array.lisp, src/compiler/ppc/call.lisp * src/compiler/ppc/move.lisp, src/compiler/ppc/nlx.lisp * src/compiler/ppc/static-fn.lisp, src/compiler/ppc/subprim.lisp * src/compiler/ppc/values.lisp, src/compiler/rt/alloc.lisp * src/compiler/rt/arith.lisp, src/compiler/rt/array.lisp * src/compiler/rt/call.lisp, src/compiler/rt/move.lisp * src/compiler/rt/nlx.lisp, src/compiler/rt/static-fn.lisp * src/compiler/rt/subprim.lisp, src/compiler/rt/values.lisp * src/compiler/sparc/alloc.lisp, src/compiler/sparc/arith.lisp * src/compiler/sparc/array.lisp, src/compiler/sparc/call.lisp * src/compiler/sparc/move.lisp, src/compiler/sparc/nlx.lisp * src/compiler/sparc/static-fn.lisp, src/compiler/sparc/subprim.lisp * src/compiler/sparc/values.lisp, src/compiler/x86/alloc.lisp * src/compiler/x86/arith.lisp, src/compiler/x86/array.lisp * src/compiler/x86/call.lisp, src/compiler/x86/cell.lisp * src/compiler/x86/macros.lisp, src/compiler/x86/memory.lisp * src/compiler/x86/move.lisp, src/compiler/x86/nlx.lisp * src/compiler/x86/pred.lisp, src/compiler/x86/static-fn.lisp * src/compiler/x86/subprim.lisp, src/compiler/x86/values.lisp: Use fixnumize instead of fixnum.
-
- Jul 30, 2003
-
-
toy authored
so (and just ignore it).
-
- Jul 26, 2003
-
-
gerd authored
(get-time-consing): Use it. (%time): Don't print if *in-get-time-consing*.
-
- Jul 24, 2003
-
-
gerd authored
calling (TIME NIL). * src/code/time.lisp (*time-consing*, *last-time-consing*): New vars. (get-time-consing): New function. (%time): Call it to get the additional consing overhead of %time. Subtract *time-consing* from the result unless null. Set *last-time-consing*.
-
- Jul 23, 2003
-
-
gerd authored
of nil. From Alexey Dejneka/SBCL. * src/code/array.lisp (make-array, adjust-array): Add supplied-p parameter for initial-contents and use it. (data-vector-from-inits): Add initial-contents-p parameter.
-
- Jul 21, 2003
-
-
gerd authored
can-set-function-end-breakpoint-p returns false. * src/code/debug-int.lisp (can-set-function-end-breakpoint-p): Return true of compiled-debug-function-returns is :standard.
-
- Jul 20, 2003
-
-
emarsden authored
defaults to nil.
-
emarsden authored
compiler notification function.
-
gerd authored
(declare (optimize (space 0) (speed 3))) (the integer (read-byte s)))) results in ; Warning: This is not a (VALUES INTEGER &REST T): ; NIL From Alexey Dejneka on cmucl-imp. * src/code/sysmacs.lisp (stream-dispatch): Use etypecase.
-
gerd authored
that can be different from the dynamic environment at the point where the user chooses one of the computed restarts. Effect: The debugger offers a restart, but complains that it isn't active when the restart is chosen. * src/code/error.lisp (%invoke-restart-interactively): New function. (invoke-restart-interactively): Use it. * src/code/debug.lisp (make-restart-commands): Use it.
-
- Jul 17, 2003
-
-
gerd authored
ignore element-type.
-
- Jul 16, 2003
-
-
pw authored
when host is "unix" magic host.
-
gerd authored
* src/compiler/fndb.lisp (last, butlast, nbutlast): Accept unsigned-byte counters. * src/code/list.lisp (last, butlast, nbutlast): Likewise.
-
gerd authored
so that we don't need its fdefn in cold init.
-
gerd authored
simple-program-error. * src/compiler/byte-comp.lisp (annotate-full-call): "Inline" slot accessors only if they are called with the right number of arguments.
-
- Jul 15, 2003
-
-
gerd authored
on interpreted functions.
-
gerd authored
type-error for invalid indices.
-
gerd authored
for argument count and keyword argument errors.
-
gerd authored
(parse-defmacro-lambda-list): Use it for min/max argument count checks.
-
emarsden authored
(needed by the byte interpreter). Fixes the following bug: (defun foo (x) (1+ (numerator x))) (let ((c::*byte-compile* t)) (compile 'foo)) (foo 2/3) => undefined function KERNEL:%NUMERATOR
-
gerd authored
Reported by Edi Weitz on cmucl-help. * src/code/defmacro.lisp (restify-dotted-lambda-list): New function. (parse-defmacro-lambda-list): Use it to tranform dotted lambda-list to undotted lambda-lists with &rest. Remove special handling of dotted lambda-lists.
-
- Jul 09, 2003
-
-
gerd authored
in the info database.
-
- Jul 03, 2003
- Jul 02, 2003
-
-
toy authored
of a double-float in multiple-values. This is better than calling double-float-high/low-bits which causes 2 stores to the stack to be done.
-
- Jul 01, 2003
-
-
gerd authored
Found by Paul Dietz, fixed by Alexey Dejneka in SBCL. * src/compiler/fndb.lisp (nth, nthcdr): First arg is unsigned-byte. * src/code/list.lisp (nthcdr): Cope with bignums.
-
- Jun 26, 2003
-
-
toy authored
Non-simple-streams-related changes: * Stop commands which go through invoke-command-interactive from affecting the history variables. * Fix some typos in comments * When the GC closes a lost stream, revert to original contents * Replace #+nil with #+(or) in unix*.lisp [NIL is a potentially valid feature name] Simple-streams-related changes: * Teach reader to handle simple-streams * Add missing package prefixes in OPEN * Add unix:unix-msync for force-output on mmapped files * Add placeholder documentation * Numerous changes in simple-streams implementation * Add "external-formats" directory for external formats Note: :BIG-ENDIAN or :LITTLE-ENDIAN should be put on *features*
-
- Jun 20, 2003
-
-
gerd authored
object that is an obsolete instances. Reported by Andre Valente on cmucl-imp. * src/code/defstruct.lisp (typep-to-layout): Add no-error arg. (%defstruct): Call typep-to-layout with no-error true.
-