Skip to content
Snippets Groups Projects
  1. May 15, 2003
    • 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
  2. May 14, 2003
  3. 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
    • gerd's avatar
      MAKE-INSTANCE.[12] tests from Paul Dietz. · 0fb0c5a9
      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.
      0fb0c5a9
  4. May 12, 2003
    • gerd's avatar
      * src/code/defstruct.lisp (defstruct): Handle uninterned · 52eecc9b
      gerd authored
      	struct names.
      52eecc9b
    • gerd's avatar
      * src/code/tty-inspect.lisp (describe-standard-object-parts): Use · 16427ca3
      gerd authored
      	pcl:: prefixes instead of mop:
      16427ca3
    • emarsden's avatar
      - information about package locks in the release notes (documentation · b93fd204
      emarsden authored
         in the CMUCL User's Manual to be added eventually)
      b93fd204
    • emarsden's avatar
      · 807d6f0f
      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
      807d6f0f
    • gerd's avatar
      Inspect CLOS instances. · 5c12720e
      gerd authored
      	* src/code/tty-inspect.lisp (describe-parts): Handle
      	standard-object.
      	(describe-standard-object-parts): New function.
      5c12720e
    • gerd's avatar
      REMOVE-METHOD.1 test from Paul Dietz. · e780f46d
      gerd authored
      	* src/pcl/methods.lisp (real-remove-method): Always return the
      	generic function.
      e780f46d
  5. May 11, 2003
    • gerd's avatar
      More SLOT-VALUE etc. on conditions. · f47f1175
      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.
      f47f1175
    • gerd's avatar
      If encapsulation is :default, encapsulate if we know function-end · 332ef015
      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.
      332ef015
  6. May 10, 2003
    • gerd's avatar
      *** empty log message *** · 908302a7
      gerd authored
      908302a7
    • gerd's avatar
      Make condition slots readable with SLOT-VALUE. · 3673ccf8
      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.
      3673ccf8
    • gerd's avatar
      *** empty log message *** · bbe6e3d9
      gerd authored
      bbe6e3d9
    • gerd's avatar
      SLOT-EXISTS-P is supposed to work on conditions. Detected · 88455ffb
      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.
      88455ffb
  7. May 09, 2003
  8. May 08, 2003
  9. May 07, 2003
Loading