X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fpurify.c;h=e033c7d2c2b52189c6911b24ffb1a5da5040fc27;hb=4603ca100a7d181fe4316429365fc725501336dd;hp=aa809b92d7ddbe411084d743d2eb5997f7428d48;hpb=4023b1bec2412344e5eea4a33cd85dd662149c67;p=sbcl.git diff --git a/src/runtime/purify.c b/src/runtime/purify.c index aa809b9..e033c7d 100644 --- a/src/runtime/purify.c +++ b/src/runtime/purify.c @@ -34,6 +34,7 @@ #include "genesis/primitive-objects.h" #include "genesis/static-symbols.h" #include "genesis/layout.h" +#include "genesis/hash-table.h" #include "gencgc.h" /* We don't ever do purification with GENCGC as of 1.0.5.*. There was @@ -717,8 +718,9 @@ pscav(lispobj *addr, long nwords, boolean constant) case SIMPLE_VECTOR_WIDETAG: if (HeaderValue(thing) == subtype_VectorValidHashing) { - *addr = (subtype_VectorMustRehash << N_WIDETAG_BITS) | - SIMPLE_VECTOR_WIDETAG; + struct hash_table *hash_table = + (struct hash_table *)native_pointer(addr[2]); + hash_table->needs_rehash_p = T; } count = 2; break;