  Objective Caml is a famous dialect of the ML family languages. It is
well-known for its performance as a compiled programming language, notably
thanks to its incremental generational automatic memory collection. However,
for historical reasons, the latter was built for monocore processors. One
consequence is the runtime library assumes there is effectively no more than
one thread running at a time, which allows many optimisations for monocore
architectures: very few thread mutexes are sufficient to prevent more than a
single thread to run at a time. This makes memory allocation and collection
quite easier. The way it was built makes it not possible to take advantage of
now widespread multicore CPU architectures.
  This paper presents our feedback on removing Objective Caml's garbage
collector and designing a "Stop-The-World Stop&Copy" garbage collector to
permit threads to take advantage of multicore architectures.
