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

[no subject]



In system 27.7, with microcode 666, on LISP Machine Four:
I did a Fasl Update from the editor and while it was writing the new QFASL
file I got the message "COMPILE: Compiler recursively entered, you may lose."
If there's anything worse than the message "You will lose", it's the
message "You may lose"!  It leaves me with no clue whatever as to what
the system actually did to me, or under what circumstances the wrong
thing might happen in the future, or what I need to do to keep from
losing.

Quite apart from this general problem, I don't have any model of how the
system decides whether a function needs to be recompiled, or even how it
decides which functions belong on a given file!  There is a nice simple
model of this in Interlisp.  I'm inclined not to use Fasl Update (even
though it provides a function I want very much) again because of this.

I also consider it a bug that the compiler can't be called recursively.
I can guess why this is so -- probably something having to do with the
compiler building structures in its temporary area and assuming they
won't be molested.  It's interesting that we had exactly the same
problem in Dorado Interlisp, only much worse since we were even more
paranoid about avoiding creation of temporary structures: we called it
the "shared global resources problem".  It results from not having a
garbage collector that (in our case) works or (in your case) runs at
acceptable cost.