From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id 44F7DBC59 for ; Wed, 3 Nov 2010 10:49:59 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AicJAJ7N0ExQRFuwWWdsb2JhbAChZAsBFhUENr0OhUYE X-IronPort-AV: E=Sophos;i="4.58,288,1286143200"; d="scan'208";a="64777087" Received: from furbychan.cocan.org ([80.68.91.176]) by mail3-smtp-sop.national.inria.fr with ESMTP; 03 Nov 2010 10:49:40 +0100 Received: from rich by furbychan.cocan.org with local (Exim 4.63) (envelope-from ) id 1PDZyJ-0006iq-Jh; Wed, 03 Nov 2010 09:49:35 +0000 Date: Wed, 3 Nov 2010 09:49:35 +0000 To: Jon Harrop Cc: 'Michael Ekstrand' , caml-list@yquem.inria.fr Subject: Re: [Caml-list] How does OCaml update references when values are moved by the GC? Message-ID: <20101103094935.GB31914@annexia.org> References: <418632253.26199.1288302511712.JavaMail.root@zmbs1.inria.fr> <8277D889-83E2-4037-91B3-3EB5E9EB2EA9@inria.fr> <018c01cb7856$1e228350$5a6789f0$@com> <4CCC5802.4080909@elehack.net> <019501cb7872$b56856b0$20390410$@com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <019501cb7872$b56856b0$20390410$@com> User-Agent: Mutt/1.5.13 (2006-08-11) From: Richard Jones X-Spam: no; 0.00; ocaml:01 0100,:01 ocaml:01 pointers:01 ocamlopt:01 garbage:01 wrote:01 caml-list:01 rewritten:02 assembler:02 internals:03 generated:05 barrier:05 describing:06 red:92 On Sat, Oct 30, 2010 at 09:40:32PM +0100, Jon Harrop wrote: > Thanks for the info. I stumbled upon Richard's excellent web page describing > the internals of OCaml and the write barrier but it does not describe how > the pointers actually get rewritten. I found out the details by reading the C code of the garbage collector and sometimes the generated assembler from ocamlopt -S. It's pretty straightforward to follow. Rich. -- Richard Jones Red Hat