[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] fast-linking and conservative gc

From: Camm Maguire
Subject: Re: [Gcl-devel] fast-linking and conservative gc
Date: Thu, 17 Jul 2014 11:50:50 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux)


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 <address@hidden> 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                                        address@hidden
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]