int_cst_hash_table mapping persistence and the garbage collector

Laurynas Biveinis laurynas.biveinis@gmail.com
Thu Oct 13 13:08:00 GMT 2011


2011/10/13 Gary Funck <gary@intrepid.com>:
> On 10/13/11 06:15:31, Laurynas Biveinis wrote:
>> [...] In your case (correct me if I misunderstood something)
>> you have one hash table, marking of which will mark more objects
>> which are required for the correct marking of the second hash table.
>> GC might be simply walking the second one first.
>
> Yes, I think that this accurately summarizes the situation, and the result.
>
> Any suggestions on how to fix this?  It seems that one fix might
> be to use a non garbage-collected hash table for the hash map.

Is it feasible to write an if_marked function for the second hash
table that would duplicate the work of the first hash table function
and then some? I.e. it would determine if an entry needs to be marked
based on information outside of both hash tables and independently of
the first one (even if duplicating its logic).


-- 
Laurynas



More information about the Gcc-patches mailing list