[armedbear-devel] Refactoring compile-file.lisp

Erik Huelsmann ehuels at gmail.com
Sun Aug 14 12:27:12 UTC 2011


Yesterday while refactoring compiler-pass2 I found that moving a function
from the top of the file to the bottom can cause serious performance
degradation (and performance win, the other way around). That somehow
doesn't feel like what one would expect of a good enough compiler these
days.

To see if I can create a change to our file-compiler which doesn't exhibit
this issue, I'm preparing an experiment where COMPILE-FILE will batch up all
class files to be generated until the end of the processing of the input
file. Then, all functions will be known in advance and calling functions
being forward-referenced should have the same properties as calling backward
referenced functions.

In order to be able to even start working on the above, compile-file.lisp
should at least be readable and understandable. My refactoring of today is
in preparation of the experiment (which I could conduct on a branch), to
clean up compile-file.lisp and cut it down to readable chunks of code with
well-defined calling conventions.


Just thought I'd explain my current work on compile-file.lisp.


Bye,


Erik.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20110814/17a812c8/attachment.html>


More information about the armedbear-devel mailing list