From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: weis Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id TAA19511 for caml-redistribution; Thu, 23 Dec 1999 19:59:29 +0100 (MET) 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 RAA11420 for ; Thu, 23 Dec 1999 17:54:06 +0100 (MET) Received: from tobago.inria.fr (tobago.inria.fr [128.93.8.21]) by concorde.inria.fr (8.8.7/8.8.7) with ESMTP id RAA11179 for ; Thu, 23 Dec 1999 17:54:05 +0100 (MET) Received: (from doligez@localhost) by tobago.inria.fr (8.6.10/8.6.6) id RAA10243 for caml-list@inria.fr; Thu, 23 Dec 1999 17:54:04 +0100 Date: Thu, 23 Dec 1999 17:54:04 +0100 From: Damien Doligez Message-Id: <199912231654.RAA10243@tobago.inria.fr> To: caml-list@inria.fr Subject: Re: Gc Question Sender: weis >From: skaller >How does (or should I say 'can') the garbage collector >tell the difference between a pointer to a structured block, >and a pointer to something else (outside the caml heap)? Quite simply, a pointer to outside the heap points outside the heap... Concretely, this is done by dividing the memory into 4k "pages" and having a table of bytes to tell for each page whether it is in the heap. >unless >the collector 'knows' where all structure blocks live >and tests for that. [Conservative collectors often do just that] >Is this the case?? In short, yes, although the collector doesn't know about each block individually. -- Damien