[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: The need for speed.
The following changes to AKCL tell the user what to do to
get (something like) the intermediate kind of speed/safety
that Jeff Dalton asks for.
Richard Harris
============================================================
/* Changes to c/funlink.c */
/* add this function */
siLusing_fast_links_p()
{vs_base[0]= (Rset==0)?Cnil:Ct;
vs_top= vs_base+1;}
/* inside the body of init_links() */
make_si_function("USING-FAST-LINKS-P",siLusing_fast_links_p);
============================================================
;;; Changes to lsp/top.lsp
(defvar *enable-fast-link-warning* nil)
;in the let of break-level:
; (*enable-fast-link-warning* be)
(defun maybe-print-fast-link-message ()
(when (and *enable-fast-link-warning*
(si:using-fast-links-p))
(format *debug-io*
"AKCL is using fast linking when calling compiled lisp functions.
This is fast, but leaves very little on the stack for debugging
(in particular, you may be given a misleading indication of the
caller of the errant function). For a more informative backtrace,
turn fast linking off, with (use-fast-links nil), exit the debugger,
and make the error happen again.~%")
(setq *enable-fast-link-warning* nil)))
;After the first line of simple-backtrace and backtrace:
; (maybe-print-fast-link-message)
============================================================