- May 15, 2003
-
-
gerd authored
encapsulation. Use encapsulation for functions from a given list of packages to automate this. * src/code/ntrace.lisp (*trace-encapsulate-package-names*): New variable. (trace-call): Temporarily restore the unencapsulated definition of the function. (encapsulate-by-package-p): New function. (trace-1): Use it. * src/code/exports.lisp ("DEBUG"): Export *trace-encapsulate-package-names*. * src/docs/cmu-user/debugger.tex (section{Function Tracing}): Add *trace-encapsulate-package-names*.
-
- May 14, 2003
-
-
toy authored
-
- May 12, 2003
- May 11, 2003
-
-
gerd authored
breakpoints can't be used. * src/code/ntrace.lisp (trace-1): Use can-set-function-end-breakpoint-p. * src/code/debug-int.lisp (can-set-function-end-breakpoint-p): New function.
-
- May 10, 2003
- May 09, 2003
-
-
gerd authored
-
- May 08, 2003
-
-
gerd authored
fixes the problem that CMUCL generated RETURN-MULTIPLE without a good reason. * src/compiler/checkgen.lisp (values-types-asserted): Use coerce-to-values again. Add fixme comments and #+nil code for known problems; these aren't new problem, though. * src/code/type.lisp (coerce-to-values): Don't add &rest t, which is the business of THE. (values) <type translator>: Disallow &key and &allow-other-keys. * src/compiler/ir1tran.lisp (the) <IR1 translator>: Add &rest t where appropriate, or-in null type into required types, for missing values.
-
- May 05, 2003
-
-
emarsden authored
package)
-
- May 04, 2003
- May 03, 2003
-
-
gerd authored
Check for odd-length args if &key seen, instead of when a keyword variable was parsed.
-
- Apr 30, 2003
-
-
gerd authored
* src/code/format.lisp (min/max-format-arguments-count) (min/max-format-args, min/max-conditional-args): New functions. * src/compiler/srctran.lisp (check-format-args): New function. (format): New transformer for simple-string format control and (<= speed space), checking number of args. (format) <transforms>: Use min/max-format-arguments-count. * src/code/package.lisp (unintern): Add missing args to format. * src/compiler/disassem.lisp (maybe-note-associated-storage-ref): Remove extraneous format arg.
-
gerd authored
(define-condition): Parse :documentation.
-
- Apr 29, 2003
-
-
gerd authored
Detected by Paul Dietz' tests. * src/pcl/std-class.lisp (make-defstruct-allocation-function): New function. (shared-initialize) <structure-class>: Use it.
-
gerd authored
AMOP compliant. From Kevin Rosenberg on cmucl-imp 2003-04-29. * src/pcl/std-class.lisp (direct-slot-definition-class): (effective-slot-definition-class): Change methods accordingly. (make-direct-slotd): Apply direct-slot-definition-class to initargs instead of funcalling it. (compute-effective-slot-definition): Likewise for effective-slot-definition-class. * src/pcl/generic-functions.lisp (direct-slot-definition-class) (effective-slot-definition-class): Make initargs a &rest arg.
-
- Apr 25, 2003
- Apr 22, 2003
-
-
gerd authored
* src/compiler/ir1tran.lisp (declare) <ir1 translator>: Remove. (ir1-convert): Signal an error for (declare ...).
-
- Apr 21, 2003
-
-
gerd authored
-
- Apr 19, 2003
-
-
gerd authored
-
- Apr 18, 2003
-
-
gerd authored
ANSI. Detected by Paul Dietz' ANSI test suite. * src/tools/worldcom.lisp: Set conditions::*make-condition-accessor-methods* to nil. * src/tools/pclcom.lisp: Convert condition accessor gfs back to normal functions. * src/code/error.lisp (*make-condition-accessor-methods*) (*early-condition-accessors*): New variables. (make-early-condition-accessors-generic) (make-condition-accessor): New functions. (%define-condition): Use make-condition-accessor. (define-condition): Define methods if *make-condition-accessor-methods*. * src/pcl/fixup.lisp (toplevel): Call conditions::make-early-condition-accessors-generic.
-
- Apr 17, 2003
-
-
gerd authored
-
- Apr 15, 2003
-
-
gerd authored
-
- Apr 13, 2003
-
-
gerd authored
C::SEQUENCE-COUNT /= KERNEL::SEQUENCE-COUNT, it was an unknown type. Please read boot4.lisp. * src/code/exports.lisp ("KERNEL"): Export sequence-count. * src-types/bootfiles/18e/boot4.lisp: New file. Make compute-effective-slot-definition AMOP compliant. Patch from Kevin Rosenberg. * src/pcl/std-class.lisp (compute-slots): Pass slot name to compute-effective-slot-definition. (compute-slots): Likewise. (compute-effective-slot-definition): Add parameter slot-name. * src/pcl/generic-functions.lisp (compute-effective-slot-definition): Add second parameter slot-name. Allow non-keyword keyword names in lambda lists. This fixes test cases STRUCTURE-BOA-TEST-15/[1-8], and FLET.30. * src/compiler/node.lisp (arg-info): Accept non-keyword keyword names. * src/code/type.lisp (key-info): Likewise. Fix type system bugs detected by Paul Dietz' test suite This is to a large extent a port from SBCL. * src/code/type.lisp: Mostly rewritten with code ported from SBCL. * src/compiler/typetran.lisp (ir1-transform-type-predicate): Return nil if type is *empty-type*. (source-transform-negation-typep) (source-transform-intersection-typep): New functions. (source-transform-array-typep): Handle unknown array element types. (typep): Add handling of negation and intersection types. * src/compiler/srctran.lisp (make-canonical-union-type): Simplify, now that #'type-union is smarter. (ir1-transform-<-helper): Give up on non-numeric, non-member types. * src/compiler/checkgen.lisp (type-test-cost): Add a case for intersection-type. (values-types-asserted): Don't use coerce-to-values, see the comment there. * src/compiler/array-tran.lisp (array-dimension): Accept :maybe as array-type-complexp. * src/code/pred.lisp (%%typep): Add handling of negation-types and intersection-types. Change cases of hairy-types, union-types, and arrays with unknown element type. * src/code/exports.lisp ("KERNEL"): Export negation-type, negation-type-type, intersection-type, intersection-type-types. * src/code/class.lisp (sealed-class-intersection): Return one value. (class :simple-intersection): Return one value, return nil in the default case. (class :complex-subtypep-arg2): New type method.
-
- Apr 11, 2003
-
-
pmai authored
-
- Mar 31, 2003
-
-
gerd authored
* compiler/ir1tran.lisp (*current-function-names*): New variable. (find-lexically-apparent-function): Use lexenv-find-function. (ir1-convert): Likewise. (ir1-convert-lambda): Bind *current-function-names*. (do-macrolet-stuff): Likewise. (extract-flet-variables): Determine function name from (%cleanup-function): Use lexenv-find-function. * compiler/main.lisp (compile): Bind *current-function-names*. * compiler/macros.lisp (lexenv-find-function): New function. * code/fdefinition.lisp (flet, labels): Define function names. * pcl/walk.lisp (environment-function): Activate code for handling flet/labels function names.
-
- Mar 27, 2003
- Mar 23, 2003
-
-
gerd authored
-
- Mar 03, 2003
-
-
emarsden authored
-
- Feb 28, 2003
-
-
emarsden authored
-
- Feb 25, 2003
-
-
emarsden authored
uses the CPUID + RDTSC instructions on Pentium, and reads the %TICK register on UltraSPARC. Accessible via the VM::READ-CYCLE-COUNTER VOP that returns two (unsigned-byte 32) values, that are the lower and upper components of a 64-bit cycle count (actually 63 bits for UltraSPARC). Basic support for counting the number of CPU cycles has been added to the TIME macro.
-
- Feb 24, 2003
-
-
gerd authored
Add dolist and make-string fixes.
-
- Feb 17, 2003
-
-
emarsden authored
-
- Feb 06, 2003
-
-
gerd authored
-
- Jan 30, 2003
-
-
toy authored
search algorithm.
-
- Nov 14, 2002
-
-
toy authored
-