refactor FOP table and stack handling
authorNikodemus Siivola <nikodemus@random-state.net>
Fri, 9 Dec 2011 18:39:49 +0000 (20:39 +0200)
committerNikodemus Siivola <nikodemus@random-state.net>
Fri, 9 Dec 2011 21:52:17 +0000 (23:52 +0200)
commit8ee61a7761181511d15690246eb52d100e233935
tree351d1e802a2082b51aeba2eb6f00348f9b9cc268
parent518a009ac066602b7920bdd56edb4d24b20b04bf
refactor FOP table and stack handling

 Just two special variables *FOP-TABLE* and *FOP-STACK*.

 Both hold a simple-vector, whose first index holds the index of the last
 element. These are always freshly allocated -- no more *FREE-FOP-TABLES*
 dirtying up the old generations.

 Define a semi-opaque interface for manipulating the stack and the
 table. (Mainly replacing explicit SVREF's with REF-FOP-TABLE.)

 ...and lo! Our fasl-loading speed sucks 5-10% less.
src/code/fop.lisp
src/code/load.lisp
src/compiler/generic/genesis.lisp