- May 15, 2003
-
-
gerd authored
* src/code/ntrace.lisp (trace-1, untrace-1): Use without-package-locks. * src/code/profile.lisp (make-profile-encapsulation) (unprofile-1-function): Use without-package-locks. (compute-time-overhead): Don't use without-package-locks.
-
toy authored
by Helmut Eller) o Add support for 64-bit integers. (Returning 64-bit integers does not seem to work yet.)
-
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
-
toy authored
callback support.
-
toy authored
-
toy authored
defreg), so we can disassemble code that uses these registers.
-
toy authored
will be honored when printing out the register names.
-
gerd authored
without-package-locks.
-
toy authored
-
toy authored
code/alieneval.lisp: o Main callback support code/exports.lisp: o Export DEF-CALLBACK and CALLBACK. o Export CALLBACK-ACCESSOR-FORM and MAKE-CALLBACK-TRAMPOLINE o Reindent a few items. x86/c-call.lisp: o Helmut's MAKE-CALLBACK-TRAMPOLINE for x86. sparc/c-call.lisp: o MAKE-CALLBACK-TRAMPOLINE for sparc.
-
emarsden authored
- for PCL-generated lambdas, extract a name for IR1 lambda nodes from the method-name declaration. A better long-term solution would be to implement a NAMED-LAMBBA IR1 translator, as in SBCL.
-
- May 13, 2003
-
-
emarsden authored
Build cleanups: - disable package locks in tools/setup.lisp, so that things can be redefined while rebuilding CMUCL - add forward-references for a number of functions that are referenced before they are loaded during the CMUCL build process (for instance CLOS-related functions that are used in the CMUCL core). This gets rid of a lot of compiler warnings while building. - export %CLASS-NAME from kernel package
-
gerd authored
handle condition classes. * src/pcl/braid.lisp (ensure-non-standard-class): Make an initfunction for condition slots if there is none. * src/pcl/slots.lisp (allocate-instance) <condition-class>: New method.
-
gerd authored
if fallback-generator.
-
gerd authored
Use make-.variable.. * src/pcl/ctor.lisp (make-instance->constructor-call) (slot-init-forms): Ditto. * src/pcl/low.lisp (make-.variable.): New function. * src/pcl/braid.lisp (ensure-non-standard-class): Remove ext:. * src/pcl/defclass.lisp (defclass): Ditto. * src/pcl/low.lisp (set-function-name): Ditto. * src/pcl/ctor.lisp (make-instance->constructor-call): Don't do the without-package-locks around the let-form. (install-optimized-constructor): Do it here. (slot-init-forms): Don't do it here.
-
gerd authored
* src/pcl/ctor.lisp (install-optimized-constructor): Handle the case of make-instance forms whose first parameter turns out not to be a class. (fallback-generator): Remove dummy args. Accept ctors with null classes.
-
- May 12, 2003
-
-
gerd authored
struct names.
-
gerd authored
pcl:: prefixes instead of mop:
-
emarsden authored
in the CMUCL User's Manual to be added eventually)
-
emarsden authored
Add package locks. Bootfile boot8.lisp allows this to build without a cross-compile (or just select the CLOBBER-IT restart). - two extra PACKAGE-LOCK and PACKAGE-DEFINITION-LOCK slots added to the package structure. These can be modified using the EXT:PACKAGE-LOCK and EXT:PACKAGE-DEFINITION-LOCK accessors. - macro EXT:WITHOUT-PACKAGE-LOCKS that evaluates forms with all package locks disabled (this is done by binding the global variable CL::*ENABLE-PACKAGE-LOCKED-ERRORS*) - new PACKAGE-LOCKED-ERROR condition - in SETF-FDEFINITION-HOOK and in the DEFMACRO, DEFSTRUCT, DEFTYPE and DEFCLASS defining forms, check whether the definition would modify a package whose definition-lock is enabled, and signal a package-locked-error condition with restarts that allow you to unlock the package or ignore the lock - in EXPORT, UNEXPORT etc check whether the target package is guarded by a package-lock, and signal an error - disable package locks when loading a subsystem - disable package locks in certain areas of PCL and in the MAKE-LOAD-FORM support of the compiler, where code is generated inside system packages at runtime
-
gerd authored
* src/code/tty-inspect.lisp (describe-parts): Handle standard-object. (describe-standard-object-parts): New function.
-
gerd authored
* src/pcl/methods.lisp (real-remove-method): Always return the generic function.
-
- May 11, 2003
-
-
gerd authored
* src/pcl/slots.lisp (slot-value-using-class) (setf slot-boundp-using-class) <condition-class>: New methods. * src/pcl/std-class.lisp (initialize-internal-slot-functions): Use slot-name->class-table. (shared-initialize): Call update-pv-table-cache-info. (compute-slots) <around condition-class>: New method. * src/pcl/slots-boot.lisp (ensure-accessor): Use slot-name->class-table. (get-optimized-std-accessor-method-function) (get-optimized-std-slot-value-using-class-method-function): Handle condition classes. * src/pcl/methods.lisp (*condition-slot-value-using-class-method*) (*condition-setf-slot-value-using-class-method*) (*condition-slot-boundp-using-class-method*): New vars. (condition-svuc-method, set-condition-svuc-method): New functions. (update-std-or-str-methods): Handle conditions. * src/pcl/generic-functions.lisp (condition-class-p): New gf. * src/pcl/dfun.lisp (make-accessor-table): Use slot-name->class-table. * src/pcl/defs.lisp (*the-condition-class*): New var. (slot-name->class-table): New function. (condition): New class. (*early-class-predicates*): Add condition-class-p. * src/pcl/braid.lisp (bootstrap-meta-braid) (bootstrap-initialize-class): Add condition-class stuff. (bootstrap-make-slot-definitions): Simplified. (bootstrap-make-slot-definition): Use slot-name->class-table.
-
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
-
-
gerd authored
-
gerd authored
* src/pcl/std-class.lisp (compute-effective-slot-definition) <condition-class>: New method. * src/pcl/slots.lisp (slot-makunbound-using-class) <condition-class>: New method.
-
gerd authored
-
gerd authored
by Paul Dietz. * src/pcl/std-class.lisp (class-direct-slots, class-slots) <condition-class>: Remove methods. (shared-initialize) <condition-class>: Initialize direct and effective slots. (direct-slot-definition-class, effective-slot-definition-class) (finalize-inheritance, shared-initialize) <condition-class>: New methods. * src/pcl/braid.lisp (ensure-non-standard-class): Pass slot initargs to ensure-class for condition classes. * src/pcl/defs.lisp (condition-class): Inherit from slot-class. (condition-slot-definition, condition-direct-slot-definition) (condition-effective-slot-definition): New classes.
-
- May 09, 2003
-
-
gerd authored
-
gerd authored
(defgeneric foo (&rest x &key)) (defmethod foo (&rest x) x) (foo 1) should signal an error. This fix works only for methods defined with DEFMETHOD. MAKE-METHOD-LAMBDA doesn't have enough information available to always do the right thing, alas. * src/pcl/boot.lisp (*make-method-lambda-gf-name*): New variable. (expand-defmethod): Bind it to the gf's name. (gf-key-p): New function. (make-method-lambda-internal): Determine from *make-method-lambda-gf-name* if the gf has &key and add &key to the method function's lambda-list if appropriate.
-
gerd authored
from initfunction only if slot-names is t or if the slot is among slot-names. Thanks to Christophe Rhodes.
-
emarsden authored
-
emarsden authored
relative-package-name situations.
-
- May 08, 2003
-
-
gerd authored
or in null.
-
gerd authored
if shared slot is still unbound. Thanks to Christophe Rhodes.
-
gerd authored
&rest nil means a fixed number of values.
-
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.
-
gerd authored
Execute more control of the code being generated; avoid jumps in the common case.
-
- May 07, 2003
-
-
gerd authored
-