Skip to content
Snippets Groups Projects
Commit e9211546 authored by gerd's avatar gerd
Browse files

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.
parent d86aae34
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment