From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 0A1A1BB9A for ; Thu, 27 Oct 2005 17:21:46 +0200 (CEST) Received: from [128.93.11.95] (estephe.inria.fr [128.93.11.95]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j9RFLhh3015941 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 27 Oct 2005 17:21:43 +0200 Message-ID: <4360F087.8030008@inria.fr> Date: Thu, 27 Oct 2005 17:21:43 +0200 From: Xavier Leroy User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050322) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Fritz Anderson Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Compiling for Mac OS 64 bit? References: <3B352EDD-F1A3-4934-9A0E-53095B258E05@uchicago.edu> In-Reply-To: <3B352EDD-F1A3-4934-9A0E-53095B258E05@uchicago.edu> X-Enigmail-Version: 0.90.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Miltered: at concorde with ID 4360F087.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 ocaml:01 ocamlopt:01 ocamlopt:01 stdlib:01 pervasives:01 compiler:01 compiler:01 pointers:01 integers:01 powerpc:01 ocaml:01 integer:01 integer:01 int:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 > I've been asked to research the use of Ocaml in high-performance > computing applications on Mac OS X. I take this to mean (a) 64-bit > applications (the client says so) and (b) compiled applications. As you found out, ocamlopt currently cannot generate PPC64 code. So, it's either bytecode-only in 64-bit mode, or native code in 32-bit mode. A PPC64 port of ocamlopt looks reasonably simple, but that will have to wait until a Mac G5 lands here at INRIA. > Make opt is not so happy. One example is that the assembler balks at > > _camlPervasives__55: > .long _caml_int64_ops > .long 1018167296 > .long 4372995238176751616 > .data > .long 2303 > > because the huge number should take the .quad directive, not .long. But > given that the huge number is 0x3cb0000000000000, I have bad feelings > that this is some badly-cleared or -shifted native integer. No, no, it's a genuine 64-bit integer constant (see the definition of epsilon_float in stdlib/pervasives.ml). > In fact, my > skimming of the compiler source suggests that the compiler doesn't do > native 64-bit pointers and integers. The PowerPC back-end does not, but everything else in OCaml will gladly handle 64-bit quantities on a 64-bit architecture (e.g. Alpha, AMD64, IA64). - Xavier Leroy