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 JAA11437; Thu, 9 Sep 2004 09:17:27 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f 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 JAA11604 for ; Thu, 9 Sep 2004 09:17:26 +0200 (MET DST) Received: from lri.lri.fr (lri.lri.fr [129.175.15.1]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id i897HPf4025981 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Thu, 9 Sep 2004 09:17:26 +0200 Received: from localhost (localhost [127.0.0.1]) by lri.lri.fr (Postfix) with ESMTP id C7AD519E7AB; Thu, 9 Sep 2004 09:17:25 +0200 (CEST) Received: from lri.lri.fr ([127.0.0.1]) by localhost (lri.lri.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 20772-10; Thu, 9 Sep 2004 09:17:25 +0200 (CEST) Received: from pc8-123 (pc8-123 [129.175.8.123]) by lri.lri.fr (Postfix) with ESMTP id B500A19E6F8; Thu, 9 Sep 2004 09:17:25 +0200 (CEST) Received: from filliatr by pc8-123 with local (Exim 3.35 #1 (Debian)) id 1C5JBN-0004p0-00; Thu, 09 Sep 2004 09:17:25 +0200 From: Jean-Christophe Filliatre MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Message-ID: <16704.901.571258.566181@gargle.gargle.HOWL> Date: Thu, 9 Sep 2004 09:17:25 +0200 To: Jon Harrop Cc: caml-list@inria.fr Subject: Re: [Caml-list] Gripes with array In-Reply-To: <200409090310.29295.jon@jdh30.plus.com> References: <200409090310.29295.jon@jdh30.plus.com> X-Mailer: VM 7.03 under Emacs 20.7.2 Reply-To: Jean-Christophe.Filliatre@lri.fr (Jean-Christophe Filliatre) X-Virus-Scanned: by amavisd-new at lri.fr X-Miltered: at concorde with ID 41400385.004 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; filliatre:01 filliatre:01 lri:01 caml-list:01 pointers:01 byterun:01 mlvalues:01 arrays:01 ocaml:01 garbage:01 writes:01 collector:02 sys:03 array:04 array:04 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Jon Harrop writes: > > Does anyone have any pointers to information about the origin of the size > limit for arrays? I assume it is something to do with the garbage collector > using a fixed-size tag instead of a variable-size one but I'd be interested > in the details. In ocaml sources, the file byterun/mlvalues.h gives all details about the block header structure. There you can see that, on 32 bits architecture, the block size (in words) is stored on 22 bits. And indeed Sys.max_array_length is equal to 2^22-1. But I must agree with you: this is definitely too small and we could imagine that, when the tag says a block is an array, the size is stored within the first (or the last) field instead. -- Jean-Christophe Filliātre ------------------- 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