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

Compiling top level forms

    From: Kent M. Pitman <KMP @ MIT-MC>
    cc: Common-Lisp @ SU-AI

    I seem to recall that the reason (or one of the reasons) for Maclisp not
    compiling random toplevel forms was due to address space. Binary space can't
    (straightforwardly) be reclaimed, so things like Macsyma which were address-
    space critical wanted to do lots of set-up stuff as toplevel forms so it 
    could all be GC'd. Even on large address space machines, I could see 
    putting such definitions on their own pages so they could get reclaimed while
    leaving the rest of the definitions loaded with them near each other to
    reduce paging. 

PSL also does not GC compiled code, but explicitly allocates and
deallocates the space for the toplevel function.  No pointer to it can
be kept, in fact it never even exists as a full-fledged Lisp object.  It
could even conceivably be allocated on the stack (Yow!).  Seriously,
such a beast could be put in a temporary area on the 3600 and win big.