:args top-level command

$Revision: 5.0.2.2 $

Arguments: &key save

This command 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.

Called with save unspecified, reports the current status is printed, as (:save t) if arguments are being saved, (:save nil) if they are not.

Called with save specified t or nil, argument saving will start or stop, respectively.

The setf'able function excl:argument-saving is the functional equivalent of this command. It takes no argument and returns t or nil as arguments are or are not saved.

Note that on some architectures (in 5.0 at the time of writing, only the Sparc), arguments are always saved. On those architectures, this command has no effect.

See top_level.htm for more information on top-level commands.

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

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