Forked from
cmucl / cmucl
Source project has a limited visibility.
-
rtoy authored
itself. Only for sparc currently. Doesn't lazily compute the symbol hash yet. Simple test shows a 5% increase in compilation speed, despite making make-symbol significantly slower. * src/code/hash-new.lisp (internal-sxhash): Use the symbol-hash slot instead of computing the hash value. * src/compiler/generic/new-genesis.lisp (allocate-symbol): Write out the sxhash value of the symbol into the symbol-hash slot. * src/compiler/globaldb.lisp (info-hash): Update to use the symbol hash instead of computing the sxhash. * src/code/symbol.lisp (make-symbol): Compute the symbol hash when creating the symbol. * src/compiler/sparc/cell.lisp ((symbol-hash)): Add vop to extract out the symbol hash from a symbol. * src/compiler/generic/objdef.lisp: Rename the unused slot to hash, so we can make it the symbol hash.
rtoy authoreditself. Only for sparc currently. Doesn't lazily compute the symbol hash yet. Simple test shows a 5% increase in compilation speed, despite making make-symbol significantly slower. * src/code/hash-new.lisp (internal-sxhash): Use the symbol-hash slot instead of computing the hash value. * src/compiler/generic/new-genesis.lisp (allocate-symbol): Write out the sxhash value of the symbol into the symbol-hash slot. * src/compiler/globaldb.lisp (info-hash): Update to use the symbol hash instead of computing the sxhash. * src/code/symbol.lisp (make-symbol): Compute the symbol hash when creating the symbol. * src/compiler/sparc/cell.lisp ((symbol-hash)): Add vop to extract out the symbol hash from a symbol. * src/compiler/generic/objdef.lisp: Rename the unused slot to hash, so we can make it the symbol hash.