From b2173f8bd437611146dd217f3106702af5b37c23 Mon Sep 17 00:00:00 2001 From: rtoy <rtoy> Date: Mon, 23 May 2005 13:41:23 +0000 Subject: [PATCH] Patch from Gerd Moellmann, cmucl-imp, 2005-05-21: The problem here is that a fixnum value gets stored in an unsigned-byte vector, which messes up the linked list. --- lisp/gencgc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/gencgc.c b/lisp/gencgc.c index 932482dfd..adcbae678 100644 --- a/lisp/gencgc.c +++ b/lisp/gencgc.c @@ -7,7 +7,7 @@ * * Douglas Crosher, 1996, 1997, 1998, 1999. * - * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/gencgc.c,v 1.64 2005/05/16 13:16:11 rtoy Exp $ + * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/gencgc.c,v 1.65 2005/05/23 13:41:23 rtoy Exp $ * */ @@ -3470,7 +3470,7 @@ free_hash_entry (struct hash_table *hash_table, int hash_index, unsigned count = fixnum_value (hash_table->number_entries); gc_assert (count > 0); hash_table->number_entries = make_fixnum (count - 1); - next_vector[kv_index] = hash_table->next_free_kv; + next_vector[kv_index] = fixnum_value (hash_table->next_free_kv); hash_table->next_free_kv = make_fixnum (kv_index); } } -- GitLab