- May 23, 2003
-
-
gerd authored
To bootstrap, use boot12.lisp with pmai's scripts. * src/bootfiles/18e/boot12.lisp: New file. * src/tools/worldload.lisp, src/tools/worldcom.lisp: * src/tools/worldbuild.lisp: Add code:fwrappers. * src/docs/cmu-user/extensions.tex (Function Wrappers): New section. * src/code/fwrappers.lisp: New file. * src-fw/pcl/defs.lisp (gdefinition): Don't check for profiled functions. * src-fw/code/exports.lisp: Add walker and fwrappers. * src-fw/code/fdefinition.lisp (fdefn-init): Set *valid-function-names* to nil. (encapsulation): Structure removed. (do-encapsulations, encapsulation, last-encapsulation) (push-encapsulation, encapsulate, unencapsulate, encapsulated-p): Removed. There is a compatibility layer in fwrappers.lisp. (fdefinition, %set-fdefinition): Rewritten. * src/code/profile.lisp: Remove #+cmu and #-cmu. ("PROFILE"): Use fwrappers. (*profile-info*): Removed. (profile-info): Redefined. (*existing-encapsulations*): Removed. (reset-profile-info, profile-info-profiling-values): New functions. (make-profile-encapsulation): Removed. (profile): New function name syntax. (make-profile-fwrapper-name, make-profile-fwrapper): New functions. (def-profile-fwrapper): Precompute some fwrappers. (ensure-profile-fwrapper, find-profile-fwrapper, pi-or-lose): New functions. (profile-1-function): Rewritten. (unprofile-1-function): Ditto. (re-profile-redefined-function): New function. (toplevel): Push it on *setf-fdefinition-hook*. * src/code/ntrace.lisp (trace-call): Removed. (trace-fwrapper): New fwrapper. (trace-1): Use fwrap instead of encapsulate. (untrace-1): Use funwrap instead of unencapsulate.
-
gerd authored
function. * src/pcl/boot.lisp (set-arg-info1): Use it instead of relying on valid-function-name-p to return nil as second value for PCL-internal functions.
-
- May 22, 2003
-
-
gerd authored
-
- May 21, 2003
-
-
emarsden authored
something of the form (pcl::method name specializers...), instead of (:method name specializers).
-
- May 20, 2003
-
-
gerd authored
declaration identifiers from EXT.
-
gerd authored
-
gerd authored
NOT-AUTO-COMPILE to EXT. To bootstrap, using pmai's scripts, copy boot11.lisp to target:bootstrap.lisp and build. * src/bootfiles/18e/boot11.lisp: New file. * src/code/exports.lisp ("EXTENSIONS"): Export slots, auto-compile, no-auto-compile. * src/pcl/info.lisp: Don't export slots, auto-compile, not-auto-compile. * src/docs/cmu-user/extensions.tex: Declaration identifiers moved from pcl: to ext:.
-
gerd authored
which is necessary for conforming SLOT-EXISTS-P and MAKE-LOAD-FORM-SAVING-SLOTS. To bootstrap, using pmai's build scripts: 1. Copy boot10.lisp to target:bootstrap.lisp and do a full build. Choose the CLOBBER-IT restart when asked (for an unknown reason, it doesn't work to do this programatically.) 2. Leave the bootstrap file where it is and do a full build with the Lisp produced in step 1. 3. Remove the bootstrap file and do another full build. * src/bootfiles/18e/boot10.lisp: New file. * src-dsd/code/defstruct.lisp (defstruct-slot-description): Rename slot %name to name. (dsd-%name): New function. (dsd-name): Function removed. (parse-1-dsd): Set dsd-name to the slot symbol. * src-dsd/pcl/std-class.lisp (*allow-keyword-slot-names*): New variable. (initialize-internal-slot-functions) <around structure-effective-slot-definition>: New method binding *allow-keyword-slot-names* to true. * src-dsd/pcl/methods.lisp (legal-slot-name-p): Allow keywords if *allow-keyword-slot-names* is true.
-
- May 19, 2003
-
-
gerd authored
ACL. Problem found by Christophe Rhodes. * src/pcl/low.lisp (structure-slotd-writer-function): Create a writer function for read-only slots. * src/pcl/braid.lisp (ensure-non-standard-class): Call structure-slotd-writer-function with additional arg.
-
toy authored
The lisp-fn takes 2 fixnum args, not 1. (Noted by Eric Marsden.)
-
gerd authored
-
gerd authored
-
gerd authored
-
gerd authored
* src/pcl/boot.lisp (expand-defgeneric): Add argument precedence order option checking.
-
- May 18, 2003
-
-
gerd authored
variables. * src/pcl/boot.lisp (parse-generic-function-lambda-list) (analyze-lambda-list, parse-specialized-lambda-list): Use parse-lambda-list. (expand-defmethod): Proclaim the generic function using the unspecialized lambda list, not the method's specialized lambda list. * src/pcl/low.lisp (parse-lambda-list): New function.
-
gerd authored
arguments without signaling an error. Found by Paul Dietz' test suite, MAKE-LOAD-FORM.ERROR.2. * src/pcl/boot.lisp (too-many-args): New function. (bind-args): Use it.
-
- May 17, 2003
-
-
gerd authored
* src/pcl/gf-call-optimization.lisp (make-pv-call): Handle the case that the method doesn't have specialized parameters. * src/pcl/cache.lisp (+nkeys-limit+): Replaces *nkeys-limit*.
-
gerd authored
-
gerd authored
* src/pcl/env.lisp (make-load-form-saving-slots): Rewritten.
-
gerd authored
* src/pcl/env.lisp (make-load-form): Define default methods for standard-object and condition.
-
gerd authored
ENCAPSULATION, making it possible to write more efficient encapsulations than currently possible. * src/code/fdefinition.lisp (fdefn-or-lose): New function. (%coerce-to-function): Use it. (encapsulation): Funcallable structure replacing encapsulation-info. (print-encapsulation-info): Removed. (do-encapsulations): New macro. (encapsulation): Replaces function encapsulation-info. (last-encapsulation, push-encapsulation): New functions. (encapsulate, unencapsulate, encapsulated-p, fdefinition): Rewritten.
-
- May 16, 2003
-
-
toy authored
-
- May 15, 2003
-
-
toy authored
o Add support for doc-strings and declarations for callback functions. The declarations apply to the entire callback function, not just to the body. o Remove an unneeded sap+ when returning the value from the callback.
-
gerd authored
without-package-locks.
-
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.
-