gcl.git - GNU Common Lisp

index : gcl.git
GNU Common Lisp
summary refs log tree commit diff
path: root/gcl/o/gbc.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcl/o/gbc.c')
-rwxr-xr-xgcl/o/gbc.c 9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcl/o/gbc.c b/gcl/o/gbc.c
index 6be9f5fef..764d78640 100755
--- a/gcl/o/gbc.c
+++ b/gcl/o/gbc.c
@@ -496,10 +496,11 @@ mark_object(object x) {
mark_object(x->ht.ht_rhthresh);
if (x->ht.ht_self == NULL)
break;
- for (i = 0, j = x->ht.ht_size; i < j; i++) {
- mark_object(x->ht.ht_self[i].hte_key);
- mark_object(x->ht.ht_self[i].hte_value);
- }
+ for (i = 0, j = x->ht.ht_size; i < j; i++)
+ if (x->ht.ht_self[i].hte_key!=OBJNULL) {
+ mark_object(x->ht.ht_self[i].hte_key);
+ mark_object(x->ht.ht_self[i].hte_value);
+ }
if (inheap(x->ht.ht_self)) {
if (what_to_collect == t_contiguous)
mark_contblock((char *)x->ht.ht_self,j*sizeof(struct htent));
generated by cgit v1.2.3 (git 2.25.1) at 2025年09月09日 16:33:04 +0000

AltStyle によって変換されたページ (->オリジナル) /