Skip to content
Snippets Groups Projects
  1. May 23, 2003
    • gerd's avatar
      Add fwrappers. Rewrite TRACE and PROFILE to use fwrappers. · e9211546
      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.
      e9211546
    • gerd's avatar
      * src/pcl/macros.lisp (pcl-internal-function-name-p): New · d86aae34
      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.
      d86aae34
  2. May 22, 2003
  3. May 21, 2003
  4. May 20, 2003
    • gerd's avatar
      * src/pcl/rt/inline-access.lisp (auto-compile-declaration.2): Use · a7cf6186
      gerd authored
      	declaration identifiers from EXT.
      a7cf6186
    • gerd's avatar
      boot11.lisp · 2376d277
      gerd authored
      2376d277
    • gerd's avatar
      Move PCL's declaration identifiers SLOTS, AUTO-COMPILE, · e10b73e5
      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:.
      e10b73e5
    • gerd's avatar
      Store user-specified slot names in DEFSTRUCT-SLOT-DESCRIPTIONs, · 20254db5
      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.
      20254db5
  5. May 19, 2003
  6. May 18, 2003
    • gerd's avatar
      Paul Dietz' DEFGENERIC.ERROR.4. Check for repeated lambda · c4827066
      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.
      c4827066
    • gerd's avatar
      Methods with &optional args could be called with too many · f1455e42
      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.
      f1455e42
  7. May 17, 2003
  8. May 16, 2003
  9. May 15, 2003
    • toy's avatar
      o Remove unneeded ALIEN package prefix. · 100a3e66
      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.
      100a3e66
    • gerd's avatar
      * src/pcl/braid.lisp (make-class-predicate): Use · 603befeb
      gerd authored
      	without-package-locks.
      603befeb
    • gerd's avatar
      Let TRACE and PROFILE ignore package locks. · e58c5048
      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.
      e58c5048
    • toy's avatar
      o CALLBACK-ACCESSOR-FORM should test the type with typecase. (Noted · 9f79ca96
      toy authored
        by Helmut Eller)
      o Add support for 64-bit integers.  (Returning 64-bit integers does
        not seem to work yet.)
      9f79ca96
    • gerd's avatar
      Functions used in the implementation of TRACE can be traced using · d517659e
      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*.
      d517659e
  10. May 14, 2003
  11. May 13, 2003
    • emarsden's avatar
      · 3f35f24b
      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
      3f35f24b
    • gerd's avatar
      * src/pcl/ctor.lisp (constructor-function-form): Don't · da746d65
      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.
      da746d65
    • gerd's avatar
      * src/pcl/rt/ctor.lisp (call-generator): Adapt to change · 0ffce9a6
      gerd authored
      	if fallback-generator.
      0ffce9a6
    • gerd's avatar
      * src/pcl/cache.lisp (dfun-arg-symbol, slot-vector-symbol): · 7568b955
      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.
      7568b955
Loading