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 mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by sympa.inria.fr (Postfix) with ESMTPS id CCBA07ED5C for ; Mon, 6 Aug 2012 12:11:35 +0200 (CEST) Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of alain@frisch.fr) identity=pra; client-ip=193.252.23.211; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="alain@frisch.fr"; x-sender="alain@frisch.fr"; x-conformance=sidf_compatible Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of alain@frisch.fr) identity=mailfrom; client-ip=193.252.23.211; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="alain@frisch.fr"; x-sender="alain@frisch.fr"; x-conformance=sidf_compatible Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@msa.smtpout.orange.fr) identity=helo; client-ip=193.252.23.211; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="alain@frisch.fr"; x-sender="postmaster@msa.smtpout.orange.fr"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AoYCAPp4H1DB/BfTlGdsb2JhbABFtg2DUwEBAQEJCwkJFAMkgiABAQU4QAEQCxgJFg8JAwIBAgFFBg0BBwEBiA27DotKhwQDlUmFW40S X-IronPort-AV: E=Sophos;i="4.77,717,1336341600"; d="scan'208";a="169176537" Received: from msa02.smtpout.orange.fr (HELO msa.smtpout.orange.fr) ([193.252.23.211]) by mail1-smtp-roc.national.inria.fr with ESMTP; 06 Aug 2012 12:11:35 +0200 Received: from [192.168.1.105] ([86.195.1.229]) by mwinf5d27 with ME id jNBa1j00D4wTVSm03NBacT; Mon, 06 Aug 2012 12:11:35 +0200 Message-ID: <501F9855.6080709@frisch.fr> Date: Mon, 06 Aug 2012 12:11:33 +0200 From: Alain Frisch User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 To: Dmitry Bely CC: caml-list@inria.fr References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Caml-list] Compiler bug? On 08/06/2012 12:04 PM, Dmitry Bely wrote: > X parameter is passed as a pointer to float value ([eax] which is > immediately saved to [ebx]). But If GC happens (L102), float value can > be moved around the OCaml heap and [ebx] become invalid, right? So the > generated code is just wrong. Am I missing something? The GC knows about the location of OCaml values, including those stored in registers when it is called (the compiler generate tables to retrieve this information from the GC call site). These values are used as roots for the GC, and they are updated when the value is moved. Alain