From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 8D3F07FA4D for ; Tue, 29 Jul 2014 12:01:24 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of goswin-v-b@web.de) identity=pra; client-ip=212.227.17.12; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="goswin-v-b@web.de"; x-sender="goswin-v-b@web.de"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of goswin-v-b@web.de) identity=mailfrom; client-ip=212.227.17.12; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="goswin-v-b@web.de"; x-sender="goswin-v-b@web.de"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mout.web.de) identity=helo; client-ip=212.227.17.12; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="goswin-v-b@web.de"; x-sender="postmaster@mout.web.de"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtQCAL1v11PU4xEMnGdsb2JhbAA/GoNgVwHLZ4dLAYEUFhABAQEBAQYNCQkUKYQEAQU6TwsYCSUPBSiIYQEYCTa2bB+HSxePUxaDGYEbBZtLgVOFNBORAGoB X-IPAS-Result: AtQCAL1v11PU4xEMnGdsb2JhbAA/GoNgVwHLZ4dLAYEUFhABAQEBAQYNCQkUKYQEAQU6TwsYCSUPBSiIYQEYCTa2bB+HSxePUxaDGYEbBZtLgVOFNBORAGoB X-IronPort-AV: E=Sophos;i="5.01,756,1400018400"; d="scan'208";a="87396850" Received: from mout.web.de ([212.227.17.12]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 29 Jul 2014 12:01:24 +0200 Received: from frosties.localnet ([78.43.112.61]) by smtp.web.de (mrweb101) with ESMTPSA (Nemesis) id 0MUWFj-1X2LI00Go7-00RH1d for ; Tue, 29 Jul 2014 12:01:23 +0200 Received: from mrvn by frosties.localnet with local (Exim 4.82) (envelope-from ) id 1XC4Di-0003ld-EV for caml-list@inria.fr; Tue, 29 Jul 2014 12:01:22 +0200 Date: Tue, 29 Jul 2014 12:01:22 +0200 From: Goswin von Brederlow To: caml-list@inria.fr Message-ID: <20140729100122.GC13382@frosties> References: <21456.19915.45180.915211@gargle.gargle.HOWL> <20140728112431.GC26816@frosties> <20140729124919.41694834@kiwi.local.tld> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140729124919.41694834@kiwi.local.tld> User-Agent: Mutt/1.5.23 (2014-03-12) X-Provags-ID: V03:K0:4GR1SNHK+QnW2zRpLQw1gCRrZqjVUyzCzpa4gYvz7v/2qZtfW0B FYK6tqpOGrwHl+R3sGZOkR2FOuvBa6slatwu0sH9kkf2TVzcoZEw0zSoe/RDqklO3PdLBHd d4MBt6d56meGl8B+yF/lF68fZe+CV+Mpo3/4/z/tqeG174vcNsQsxV4Cyi4+AfzGSiTt3iQ vbXam7vNpwQlz9beoivyQ== Subject: Re: [Caml-list] concurrent gc? On Tue, Jul 29, 2014 at 12:49:19PM +0800, ygrek wrote: > Hello, > > See also the pros and cons in http://caml.inria.fr/mantis/view.php?id=5010 "pros and cons"? The issue talks about arrays and xleroy mentioned that the magic that is used to tag float arrays as such does not extend to e.g int arrays and therefore, since it needs to be a runtime thing, special tagging won't work there. Seems ther is only one big con. But that doesn't hold for records. The type of a record is known at compile time and the compiler knows it if can contain any pointer or not. This gets a bit tricky with polymorphic records, e.g.: type 'a t = { x : 'a } Then "int t" has no pointers but "int list t" does. Since 'a t records can be created in polymorphic functions that means even "int t" can not be tagged no-scan or you would end up with different tags depending on who created the record. Tagging records without pointer would only be for records without polymorphic members (more specific for !E 'a . 'a t contains pointer), e.g. type 'a x = int type 'a t = { x: 'a x; y: int; } That somewhat limits the use case but avoids the problem of runtime detection of the type. MfG Goswin