#include "interrupt.h"
#include "purify.h"
#include "interr.h"
-#include "fixnump.h"
#include "gc.h"
#include "gc-internal.h"
#include "thread.h"
#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
* a lot of hairy and fragile ifdeffage in here to support purify on
return ptrans_unboxed(thing, header);
#ifdef LUTEX_WIDETAG
case LUTEX_WIDETAG:
- gencgc_unregister_lutex(native_pointer(thing));
+ gencgc_unregister_lutex((struct lutex *) native_pointer(thing));
return ptrans_unboxed(thing, header);
#endif
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;