argument-saving

$Revision: 5.0.2.4 $

Function

Package: EXCL

Arguments: nil

This setf'able function controls whether Lisp saves arguments passed to Lisp functions which happen to be stored in registers rather than on the stack. Passing some arguments in registers is very efficient and is done when possible. However, the values in those registers will be overwritten when an unhandled error occurs and thus not be available for debugging. If argument saving is enabled, the argument values in registers will be saved and available for debugging. If argument saving is disabled, those argument values will not be saved. Unsaved arguments show up as :unknown in stack backtraces (as printed by :zoom).

Note: if arguments are being saved, code may not run as fast as possible.

This function returns t if arguments are being saved, nil if they are not.

setf can be used with this function to set argument saving, so

(setf (argument-saving) t)

causes arguments to be saved and

(setf (argument-saving) nil)

causes them not to be saved.

The top-level command :args is roughly equivalent to this function.

Note that on some architectures, arguments are always saved. On those architectures, this command has no effect.

The general documentation description is in introduction.htm. The index in index.htm.

Copyright (C) 1998-1999, Franz Inc., Berkeley, CA. All Rights Reserved.