[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