Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
user avatar
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
History
Name Last commit Last update