gcl-devel
[Top][All Lists]
Advanced

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

Re: [Gcl-devel] sys-proclaims.lisp


From: Camm Maguire
Subject: Re: [Gcl-devel] sys-proclaims.lisp
Date: Fri, 27 Jun 2014 12:40:39 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux)

Greetings!

Raymond Toy <address@hidden> writes:

>>>>>> "Camm" == Camm Maguire <address@hidden> writes:
>
>     Camm> Greetings!  In putting together 2.6.11, I've added automatic
>     Camm> 'proclaimed-closure detection to GCL's sys-proclaim.lisp generating
>     Camm> facility.  I noticed maxima bypasses these gcl routines, apparently 
> to
>     Camm> keep sys-proclaims.lisp from changing to frequently.  As the 
> default gcl
>
> Yes, that's the reason we bpassed gcl routines. We still use the
> internal routines, however, to generate the data, but we don't try to
> coalesce them all if the arguments types match.
>
> What does 'proclaimed-closure detection actually do and how does that
> affect sys-proclaim?
>

It enables fast link calling for closures.  pcl has made use of this
property for ages.  2.6.11 will have some support for compiling closures
and top-level macrolets, etc., so I modified the sys-proclaims mechanism
to detect this and proclaim it too.  

I have a little facility to detect fast link failure, and the output is
now greatly reduced, and the test suite accelerated.  If time permits, I
will submit a list of functions maxima intends not to compile (eg. in
package :make) to make sure we're not missing anything.  Anonymous calls
are still slow linked, until version 2.7 (master).  You can play with
2.6.11pre if desired using git tag cygwin.

>     Camm> build process is now to build twice anyway, generating a fresh
>     Camm> sys-proclaims.lisp each time, can we not just default to the 
> routines in
>     Camm> gcl and let my improvements flow through?
>
> Perhaps things have changed, but sys-proclaim isn't supposed to be
> generated on every build. Or perhaps my memory of how this all works
> is wrong; I don't build with gcl nearly as often as I used to.
>

Actually, you are right here -- my apologies.  sys-proclaims.lisp
appears to be *generated* by default on every build, but then apparently
cached in cvs.

So I guess we have two options, 1) modify the default build to build
twice automatically, and remove sys-proclaims.lisp from the repository,
2) have me output in the form you prefer, which I would not mind.  I
prefer 1) from the point of view that gcl generated compiler output
should not be cached in maxima's version control system -- which gcl
would one use to commit an update to this file?

Take care,

> Ray
>
>
> _______________________________________________
> Gcl-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/gcl-devel
>
>
>
>

-- 
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]