- 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.
-
- Jul 21, 2003
-
-
gerd authored
standard-generic-function instead of generic-function which has no slot named methods.
-
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.
-
emarsden authored
(DEF-SMALL-DATA-VECTOR-FROBS) for Alpha backend. This bug is triggered by operations on bit arrays. From Daniel Barlow via SBCL.
-
- Jul 20, 2003
-
-
emarsden authored
has been moved to Lisp) - fixes to error reporting on CLX connection attempts - fix bug in type declarations in TEXT-EXTENTS-SERVER and TEXT-WIDTH-SERVER (declared to be strings, but called with buffer-text16). From Daniel Barlow via the portable-clx-devel mailing list.
-
emarsden authored
(which no only control the build process) - add forward declaration for stream::%read-vector
-
emarsden authored
CLOS-related documentation accessors incorrectly.
-
emarsden authored
platforms.
-
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 19, 2003