This allows us to experiment with changing sequence-hashcode. For some
reason there is an issue with changing the hashcode algorithm for
strings when bootstrapping, the current rehash approach in stage1
doesn't rehash strings, but even when we do that, its still not quite
working right yet.
f swap set-string-hashcode ; inline
: rehash-string ( str -- )
- 1 over sequence-hashcode swap set-string-hashcode ; inline
+ 0 over [
+ swap [
+ [ -2 fixnum-shift-fast ] [ 5 fixnum-shift-fast ] bi
+ fixnum+fast fixnum+fast
+ ] keep fixnum-bitxor
+ ] each swap set-string-hashcode ; inline
: (aux) ( n string -- byte-array m )
aux>> { byte-array } declare swap 1 fixnum-shift-fast ; inline