Add support for weak value, key-and-value, and key-or-value hash
tables. Use boot-2006-08-1-cross to cross-compile. During worldload, you'll get a restart. Choose the CLOBBER-IT restart. bootfiles/19c/boot-2006-08-1-cross.lisp: o Cross-compile script to mark that a cross-compile is needed. Nothing fancy, just load up the example scripts. code/hash-new.lisp: o Update the allowed values for the weak-p slot of a hash table. o Change hash table printer to print out the test and weak style. o Update MAKE-HASH-TABLE to allow other values for :weak-p keyword arg and set the weak-p slot appropriately. o Produce an error if a weak key, key-and-value, or key-or-value table is created but the test is not EQ or EQL. compiler/ppc/parms.lisp: compiler/sparc/parms.lisp: o Add :KEY, :VALUE, :KEY-AND-VALUE, and :KEY-OR-VALUE symbols to the static symbols because C code needs them. lisp/gencgc.c: o Add necessary support to handle the new hash types.
Showing
- bootfiles/19c/boot-2006-08-1-cross.lisp 15 additions, 0 deletionsbootfiles/19c/boot-2006-08-1-cross.lisp
- code/hash-new.lisp 29 additions, 10 deletionscode/hash-new.lisp
- compiler/ppc/parms.lisp 7 additions, 1 deletioncompiler/ppc/parms.lisp
- compiler/sparc/parms.lisp 7 additions, 1 deletioncompiler/sparc/parms.lisp
- lisp/gencgc.c 178 additions, 45 deletionslisp/gencgc.c
Loading
Please register or sign in to comment