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 nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id EAE97BDD8 for ; Fri, 26 Aug 2005 13:34:04 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j7QBY4Vt009318 for ; Fri, 26 Aug 2005 13:34:04 +0200 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id NAA26951 for ; Fri, 26 Aug 2005 13:34:03 +0200 (MET DST) Received: from copper.three-tuns.net (copper.three-tuns.net [193.201.200.235]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j7QBY0gw009309 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 26 Aug 2005 13:34:03 +0200 Received: from mark by copper.three-tuns.net with local (Exim 4.52) id 1E8cTA-0005Vg-8D; Fri, 26 Aug 2005 12:34:00 +0100 Date: Fri, 26 Aug 2005 12:34:00 +0100 From: Mark Shinwell To: Christian Lindig Cc: Caml List Subject: Re: [Caml-list] how to enlarge header of blocks? Message-ID: <20050826113400.GB5470@three-tuns.net> References: <34f22df101c14e15560de909ace48d3a@cs.uni-sb.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <34f22df101c14e15560de909ace48d3a@cs.uni-sb.de> User-Agent: Mutt/1.5.9i Sender: Mark Shinwell X-Miltered: at nez-perce with ID 430EFE2C.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 430EFE28.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; shinwell:01 shinwell:01 caml-list:01 lindig:01 heap:01 compiler:01 run-time:01 o'caml:01 mlvalues:01 runtime:01 mutable:01 26,:98 wrote:01 constraints:02 context:04 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 On Fri, Aug 26, 2005 at 10:10:04AM +0200, Christian Lindig wrote: > For tracking additional information about heap blocks I'd like to store > an additional word in each block. Has anybody experience with changing > the compiler and run-time system accordingly? I've had reason to consider such things before in the context of Fresh O'Caml, but thankfully have so far managed to avoid having to do this: it is probably quite a serious undertaking, although I imagine it mainly reduces to adjusting mlvalues.h. What information do you wish to store? Rather than adjusting the block headers, it might be possible to simply tack it onto the end as extra fields, provided those fields obey the GC structure constraints. I've wondered about such schemes to enable me to determine at runtime which fields of a record were marked mutable in the source code, something which is not possible at the moment. Mark