- Aug 08, 2003
-
-
emarsden authored
the condition that caused entry into the debugger.
-
emarsden authored
- correct some information about implementation packages (CL != LISP), reference CLOS-MOP package - "new, improved" title page
-
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.
-
emarsden authored
sbcl-devel that Hummingbird X11 servers offer this possibility.
-
- Aug 07, 2003
- Aug 06, 2003
-
-
toy authored
x86.
-
toy authored
{alpha,hppa,mips,ppc}/alloc.lisp: Add dynamic-extent arg to the make-closure VOP. (Not tested.)
-
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.
-
toy authored
changes.
-
toy authored
macro to support stack allocation.
-
- Aug 05, 2003
-
-
gerd authored
for dynamic-extent because it's otherwise impossible to use use dynamic-extent in code that otherwise needs to have type checks compiled in.
-
toy authored
instruction didn't have an immediate arg.
-
toy authored
(version NIL) and we're looking for version :NEWEST, since that's what no explicit version means.
-
toy authored
DYNAMIC-EXTENT arg. (Untested on these platforms, except for sparc.)
-
toy authored
listify-rest-args.
-
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
- 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.
-
- Aug 02, 2003
-
-
gerd authored
(defun bug1 (x) (declare (type string-and-number x)) (the number (car (reverse x)))) (bug1 (list "one" 1)) => Type error 1 is not of type number. Reported by Luke Gorrie on cmucl-imp. * src/compiler/knownfun.lisp (result-type-first-arg/reverse) (reversed-cons-type): New functions. * src/compiler/fndb.lisp (nreverse, reverse): Use result-type-first-arg/reverse.
-
- Jul 30, 2003
- Jul 29, 2003
-
-
gerd authored
method qualifiers.
-
- Jul 28, 2003
-
-
toy authored
-
gerd authored
* src/lisp/gc.h (component_ptr_from_pc): Add prototype. * src/lisp/backtrace.c (struct compiled_debug_info) (struct compiled_debug_function): New structs. (array_of_type_p, debug_function_from_pc): New functions. (backtrace): Use debug_function_from_pc to figure out the real name of the frame, instead of listing all entry points of the code object.
-
gerd authored
effective methods of close were no longer precomputed, and close is being used somewhere inside the compiler during emf compilation. * src/pcl/gray-streams.lisp (toplevel): Call pcl-close before setting the fdefinition of close to it, analogous to what was already done for pcl-open-stream-p. * src/pcl/dfun.lisp (break-vicious-metacircle): Put the error in infinite-error-protect, just in case.
-
gerd authored
print strings as such.
-
gerd authored
effective methods (which I think is either yet another oversight, or bad language design). Found by Paul Dietz. Set *max-emf-precomputation-methods* to > 0 to allow precomputation of effective methods at method load-time for generic functions having less than the specified number of methods. * src/pcl/dfun.lisp (*max-emf-precomputation-methods*): Set to 0. * src/pcl/pkg.lisp ("PCL"): Export *max-emf-precomputation-methods*.
-
- Jul 26, 2003
- Jul 25, 2003
-
-
gerd authored
* src/lisp/backtrace.c (VM_OCFP_SAVE_OFFSET) (VM_RETURN_PC_SAVE_OFFSET): New defines. (stack_pointer_p, ra_pointer_p, deref, print_entry_name) (print_entry_list, print_entry_points, x86_call_context): New functions. (backtrace): Use x86_call_context.
-
- Jul 24, 2003
-
-
gerd authored
function-lambda-expression.
-
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.
-