English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
OCaml and Boehm
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2009-04-14 (05:25)
From: Goswin von Brederlow <goswin-v-b@w...>
Subject: Re: [Caml-list] OCaml and Boehm
Lukasz Stafiniak <lukstafi@gmail.com> writes:

> On Mon, Apr 13, 2009 at 11:42 AM, Christoph Bauer
> <c-bauer-olsbruecken@t-online.de> wrote:
>> Basile STARYNKEVITCH <basile@starynkevitch.net> writes:
>>> My advice is always to avoid mixing several garbage collection
>>> techniques or implementations inside the same program.
>> TCL uses refcounted Tcl_Objs. We use these Tcl_Objs in OCaml for a long
>> time. And it works excellent.
>> So I guess,  it's easier to use smart pointers.
> I'll restate my question: is it the same deal with Boehm, or is it
> really more difficult with Boehm? I'm not talking about Boehm starting
> from Caml roots -- this would be too difficult I guess (?), although
> the only way to get back the full performance. Instead, just as with
> smart pointers: every wrapper would register a Boehm-GC root with
> GC_MALLOC_UNCOLLECTABLE, and a finalizer would deregister it with
> GC_FREE. A performance hit, but at least doesn't hit the C++ code.
> Thanks in advance.
> £ukasz

That would work. But only allows data to go in one direction. That way
Ocaml can use pointers into the Boehm heap but you can not use
pointers into the ocaml heap.