From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.9 required=5.0 tests=AWL,DNS_FROM_RFC_POST, SPF_NEUTRAL autolearn=disabled version=3.1.3 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 06C15BC37 for ; Mon, 11 May 2009 10:44:01 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmQCADCCB0rRVcirimdsb2JhbACWUT8BAQEKCQwHDwWlZ4ERjWIBAwEDg3sF X-IronPort-AV: E=Sophos;i="4.40,327,1238968800"; d="scan'208";a="25923589" Received: from wf-out-1314.google.com ([209.85.200.171]) by mail2-smtp-roc.national.inria.fr with ESMTP; 11 May 2009 10:44:00 +0200 Received: by wf-out-1314.google.com with SMTP id 26so2584941wfd.0 for ; Mon, 11 May 2009 01:43:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=UoHmvar9cX+CNa7RnIeQctQjYJRIghslnmAGGHFFz7g=; b=lQIFcJicGEEdLZW/6s2e+D1nb5RjI1J1jFNqDmCQWOk0ggM87u8Ye1eaAZMB1aqnZ2 4vwVyKYjxm72R3LXZFHa3ZUlNbpf2ucW3Uux7LnBe4ofXtpI0R6ShbxGBGdjOMtvYbdU /MdmR2Aio/fekvRucaP0QbrSCLYVj0nliGg4M= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=qyKzI04QN9Z/WWrPh1aNy8o8RPTr+GnEvlMsBY+iN+PZIbBcYCFtVv39wtpWJUSmsS dsnRdhxZzMfyM4CRddCRhYc5cSxnKF03vHQhsjXkP41if3zB8kc51gMSq6LSCHxOg0gV fDBh4DNe1S1Wi++/aUq9VVGNKbpOOPOrR9ud4= MIME-Version: 1.0 Received: by 10.143.33.19 with SMTP id l19mr2820626wfj.30.1242031439167; Mon, 11 May 2009 01:43:59 -0700 (PDT) In-Reply-To: <200905111026.18392.jon@ffconsultancy.com> References: <20090509100004.353ADBC5C@yquem.inria.fr> <200905100450.27146.jon@ffconsultancy.com> <90823c940905110105p7ee28bd3vdeebfe9a508442fd@mail.gmail.com> <200905111026.18392.jon@ffconsultancy.com> Date: Mon, 11 May 2009 12:43:59 +0400 Message-ID: <90823c940905110143k2380b9e2r2ba0a79e6ff8d59e@mail.gmail.com> Subject: Re: [Caml-list] Ocamlopt x86-32 and SSE2 From: Dmitry Bely To: Caml List Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam: no; 0.00; ocamlopt:01 merging:01 ocaml:01 compiler:01 ocamlopt:01 ocaml's:01 ocaml:01 frametable:01 2009:98 2009:98 garbage:01 garbage:01 wrote:01 wrote:01 stack:01 On Mon, May 11, 2009 at 1:26 PM, Jon Harrop wrote: > On Monday 11 May 2009 09:05:08 Dmitry Bely wrote: >> I think it would be the major code rewrite (if ever possible). Merging >> SSE2 from amd64 into i386 code generator took about a day of my >> efforts. How much time LLVM integration would require? If it is that >> simple can you provide a proof-of-the-concept implementation? > > Well, I can provide a complete garbage collected VM. :-) > > =A0http://hlvm.forge.ocamlcore.org/ We are talking about a new backend to Ocaml compiler, aren't we? > The hard part of writing an LLVM backend for ocamlopt is probably getting= LLVM > to generate code that is compatible with OCaml's GC, particularly the sta= ck. > However, I believe Gordon Henriksen already did this: > > =A0"Included in the pending LLVM garbage collection code generation > changeset is an Ocaml frametable emitter." - > =A0http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-November/011527.html So it's just pie in the sky. No working implementation has been demonstrated since then. The answer to your "why not use LLVM to replace several of the existing backends?" question is quite obvious. - Dmitry Bely