[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Marking weak alist vectors, epilogue
From: |
Neil Jerram |
Subject: |
Re: [PATCH] Marking weak alist vectors, epilogue |
Date: |
Tue, 10 Jan 2006 09:33:03 +0000 |
User-agent: |
Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux) |
address@hidden (Ludovic Courtès) writes:
> Neil Jerram <address@hidden> writes:
>
>> address@hidden (Ludovic Courtès) writes:
>>
>>> + scm_properties_whash = scm_permanent_object (scm_properties_whash);
>>
>> What is the symptom of the fact that we are currently missing this
>> line?
>
> You mean: does it actually yield a fault at run-time? Well, it doesn't
> /seem/ to (i.e., I haven't identified any reproducible "bug" caused by
> this), but I think it /could/. ;-)
>
> All other such global variables are, understandably, explicitly made
> non-collectable. For instance, in `srcprop.c', SCM_SOURCE_WHASH is
> non-collectable because it is bound to a top-level binding. In
> `symbols.c', the SYMBOLS weak hash table is made permanent via a call to
> `scm_permanent_object ()'.
I just looked into this. scm_properties_whash is actually OK, because
it is defined like this in root.h:
#define scm_properties_whash scm_sys_protects[10]
and the elements of scm_sys_protects are handled specially in
gc-mark.c.
Regards,
Neil