* 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).