* src/mm/cacao-gc/gc.c (gc_reflist_weak): Added list for weak references.
authorMichael Starzinger <michi@complang.tuwien.ac.at>
Fri, 12 Oct 2007 21:52:11 +0000 (23:52 +0200)
committerMichael Starzinger <michi@complang.tuwien.ac.at>
Fri, 12 Oct 2007 21:52:11 +0000 (23:52 +0200)
commit153f37f8fe9b0af4c93906d77c317f82e9d0a9a5
tree97fb0f554581772e729eb73e74b3bce43d7fc9bf
parent531b2e6a82408a0119f2bbc7d589254607ee1dac
* src/mm/cacao-gc/gc.c (gc_reflist_weak): Added list for weak references.
(gc_weakreference_register, gc_weakreference_unregister): Implemented.
(gc_collect): Added preliminary call to lock_hashtable_cleanup.

* src/mm/cacao-gc/gc.h (gc_reflist_weak): Added.

* src/mm/cacao-gc/mark.c (mark_post): Added postprocessing function.

* src/mm/cacao-gc/rootset.c (rootset_from_globals): Add weak references.
(reftype_names): Adapted to new enumeration.

* src/mm/gc-common.h: Reference types are now enumerated.
(gc_weakreference_register, gc_weakreference_unregister): Added prototypes.

* src/threads/native/lock.c [ENABLE_GC_CACAO] (lock_hashtable_cleanup): Added.
(lock_record_new, lock_record_free) [ENABLE_GC_CACAO]: Register and unregister
references to lock object with the GC (as weak references).
src/mm/cacao-gc/gc.c
src/mm/cacao-gc/gc.h
src/mm/cacao-gc/mark.c
src/mm/cacao-gc/rootset.c
src/mm/gc-common.h
src/threads/native/lock.c