From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: by yquem.inria.fr (Postfix, from userid 18180) id AF944BCAF; Mon, 13 Jun 2005 21:19:00 +0200 (CEST) Date: Mon, 13 Jun 2005 21:19:00 +0200 From: Xavier Leroy To: John Skaller Cc: Jon Harrop , caml-list@yquem.inria.fr Subject: Re: [Caml-list] AMD64 ocamlopt bug Message-ID: <20050613191900.GA4326@yquem.inria.fr> References: <1118295206.7145.165.camel@rosella.wigram> <36973.131.254.50.45.1118334009.squirrel@mail.irisa.fr> <1118357500.8693.80.camel@rosella.wigram> <200506110039.18279.jon@ffconsultancy.com> <1118515162.7212.39.camel@rosella.wigram> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1118515162.7212.39.camel@rosella.wigram> User-Agent: Mutt/1.3.28i X-Spam: no; 0.00; caml-list:01 ocamlopt:01 bug:01 ocaml:01 compiler:01 bug:01 uncommon:01 tail-call:01 stack:01 cvs:01 bug-fix:01 ...:98 tail:01 functions:01 functions:01 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED autolearn=disabled version=3.0.2 X-Spam-Level: > > > Whilst I personally prefer the ocaml native code compiler, > > > at present I can't use it on my AMD64 as there appears > > > Do you think I shouldn't release for AMD64? > > See PR#3640 (in Incoming in the Bug Tracker) first: > > My guess is if you code works it works... the bug > is fairly rare and only triggered in unusual > circumstances .. but that is just a guess. Yes, PR#3640 is an AMD64-specific code generation bug. It occurs in the uncommon case where a leaf function (a function that doesn't call other functions except as a tail-call) accesses a parameter passed on the stack (not in registers). As a rule of thumb, if your tail functions have fewer than 9 arguments, you're safe. The bug is fixed in the CVS repository, 3.08 bug-fix branch. - Xavier Leroy