Greetings! Raymond Toy <[email protected]> writes:
>>>>>> "Camm" == Camm Maguire <[email protected]> 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 > [email protected] > https://lists.gnu.org/mailman/listinfo/gcl-devel > > > > -- Camm Maguire [email protected] ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gcl-devel
