From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id PAA12016; Fri, 13 Aug 2004 15:24:31 +0200 (MET DST) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id PAA13165 for ; Fri, 13 Aug 2004 15:24:30 +0200 (MET DST) Received: from eris.rz.uni-saarland.de (eris.rz.uni-saarland.de [134.96.7.8]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i7DDOTRM026794 for ; Fri, 13 Aug 2004 15:24:29 +0200 Received: from cs.uni-sb.de (cs.uni-sb.de [134.96.254.254]) by eris.rz.uni-saarland.de (SGI-8.12.5/8.12.10) with ESMTP id i7DDORCS12182134 for ; Fri, 13 Aug 2004 15:24:28 +0200 (CST) Received: from mail.cs.uni-sb.de (mail.cs.uni-sb.de [134.96.254.200]) by cs.uni-sb.de (8.13.1/2004080400) with ESMTP id i7DDORYP027657 for ; Fri, 13 Aug 2004 15:24:27 +0200 (CEST) Received: from ps.uni-sb.de (grizzly.ps.uni-sb.de [134.96.186.68]) by mail.cs.uni-sb.de (8.13.1/2004080200) with ESMTP id i7DDOQBJ011667 for ; Fri, 13 Aug 2004 15:24:26 +0200 (CEST) X-Authentication-Warning: email: Host grizzly.ps.uni-sb.de [134.96.186.68] claimed to be ps.uni-sb.de Received: from ps.uni-sb.de (groove.ps.uni-sb.de [134.96.186.172]) by ps.uni-sb.de (8.12.10/8.12.10) with ESMTP id i7DDOP9x006327; Fri, 13 Aug 2004 15:24:25 +0200 Message-ID: <411CC109.6050105@ps.uni-sb.de> Date: Fri, 13 Aug 2004 15:24:25 +0200 From: Andreas Rossberg User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031114 X-Accept-Language: en-us, en MIME-Version: 1.0 To: caml-list@inria.fr Subject: Re: AW: [Caml-list] The tag bit References: <20040813.125329.74721093.garrigue@kurims.kyoto-u.ac.jp> <411CBAF6.3010101@univ-savoie.fr> In-Reply-To: <411CBAF6.3010101@univ-savoie.fr> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.5.1 (eris.rz.uni-saarland.de [134.96.7.8]); Fri, 13 Aug 2004 15:24:28 +0200 (CEST) X-AntiVirus: checked by AntiVir Milter 1.0.6; AVE 6.27.0.4; VDF 6.27.0.9 X-Miltered: at concorde with ID 411CC10D.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; rossberg:01 rossberg:01 uni-sb:01 caml-list:01 raffalli:01 pointers:01 inherently:01 incompatible:01 compacting:01 generational:01 uni-sb:01 christophe:01 tagged:01 ocaml:01 afaik:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Christophe Raffalli wrote: > There is a less costly way to avoid the tag bit in integer: > "conservative GC": any int which happens to point in an alloccated block > (or only at the beginning if you do not consider C but ML) is considered > as a pointer. You will have very few wrong pointers (especially in the > second case). Moreover, array of int or float, or block of memory can be > tagged with a flag saying they do not old pointer. > > The Boehm GC for C and C++ is very succefull to do that and very often > allow you to share data-structure in C as you would in ML (not caring > about who will release first the data) and gain both speed and memory. AFAIK, a conservative collector is not allowed to move anything. Hence it is inherently incompatible with compacting and generational GC, like used in OCaml (and highly desirable). Cheers, - Andreas -- Andreas Rossberg, rossberg@ps.uni-sb.de Let's get rid of those possible thingies! -- TB ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners