Greetings! In 2.6.11pre (git tag cygwin at the moment) there is an unbound variable si::*link-list*, which when set to nil, will accumulate a list of all non-fast-link called functions together with a counts of the various fast link failures. I used this to speed up the maxima test suite recently. In master, si::*fast-link-warnings* can be set to t, which will print out a diagnostic for each missed fast-link together with a reason. This latter output is often too big to be useful.
Please note that whatever the final report format, the caller will always remain unknown, as functions in the same file share the trampoline into the fast-link setting code. We could print out the file containing the caller, which is likely good enough. Last I looked, I got master down to essentially no slow calls on typical compilation jobs. Take care, u1204 <d...@axiom-developer.org> writes: > Camm, > > The fastlink optimization is vital to the speed of Axiom. > Bill and I talked about that a lot during the AKCL work. > > I am rewriting Axiom into straight lisp code. > > Is there a way I can tell when a fastlink function call > cannot be performed and why? For example, a message like > > Note: cannot fastlink function call foo > in function bar because the return type > of foo is not a single word > > That would allow me to improve the code I write. > > I have removed most of the autoloader code but Axiom > does tend to redefine functions because, you know, lisp :-) > > Tim > > > > > -- Camm Maguire c...@maguirefamily.org ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Axiom-developer mailing list Axiom-developer@nongnu.org https://lists.nongnu.org/mailman/listinfo/axiom-developer