Add toggle-ref support
authorRodrigo Kumpera <kumpera@gmail.com>
Wed, 26 Feb 2014 17:14:39 +0000 (12:14 -0500)
committerIvan Maidanski <ivmai@mail.ru>
Wed, 26 Aug 2015 20:19:39 +0000 (23:19 +0300)
commit5ae0aed4befd61980cb9930a982e37c051be1d5d
treef232843d4e9994ff04324b31b5a445d64e9ac783
parent8320da593dcc8fa9e99e63bc9c6d4857fc4367ae
Add toggle-ref support
(Apply commit af75406 from 'mono_libgc' branch.)

GC backed toggleref machinery.  This enables
an embedder to support toggleref style of external memory management
without hooking up to the host retain/release machinery.
The API export two entry points.  The first let the caller register
a callback that decides the state of a given object, by
probably inspecting its native state.  The second allows registration
of objects with the toggleref machinery.
The idea of toggleref is that we keep an external reference to an
object and it can be  either a strong or weak reference.  We use
a weak reference when the external peer has no interest into the
object and a strong otherwise.
darwin_stop_world.c
finalize.c
include/gc.h
include/private/gc_priv.h
pthread_stop_world.c