Add fwrappers. Rewrite TRACE and PROFILE to use fwrappers.
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.
Showing
- bootfiles/18e/boot12.lisp 40 additions, 0 deletionsbootfiles/18e/boot12.lisp
- code/exports.lisp 36 additions, 1 deletioncode/exports.lisp
- code/fdefinition.lisp 7 additions, 91 deletionscode/fdefinition.lisp
- code/ntrace.lisp 17 additions, 15 deletionscode/ntrace.lisp
- code/profile.lisp 308 additions, 347 deletionscode/profile.lisp
- docs/cmu-user/extensions.tex 144 additions, 0 deletionsdocs/cmu-user/extensions.tex
- general-info/release-19a.txt 7 additions, 1 deletiongeneral-info/release-19a.txt
- pcl/defs.lisp 1 addition, 6 deletionspcl/defs.lisp
- tools/worldbuild.lisp 2 additions, 1 deletiontools/worldbuild.lisp
- tools/worldcom.lisp 2 additions, 1 deletiontools/worldcom.lisp
- tools/worldload.lisp 2 additions, 1 deletiontools/worldload.lisp
Loading
Please register or sign in to comment