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=2.8 required=5.0 tests=DNS_FROM_RFC_POST,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr 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 A5B82BC37 for ; Sun, 27 Sep 2009 19:37:48 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsECANc/v0pKfVwai2dsb2JhbACRTYh3PwEBAQoLCgcRBadsgTSNfwEDAgWEGQU X-IronPort-AV: E=Sophos;i="4.44,461,1249250400"; d="scan'208";a="33639303" Received: from qw-out-2122.google.com ([74.125.92.26]) by mail2-smtp-roc.national.inria.fr with ESMTP; 27 Sep 2009 19:37:48 +0200 Received: by qw-out-2122.google.com with SMTP id 9so510731qwb.15 for ; Sun, 27 Sep 2009 10:37:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=qB1QF142HQuxOiFMYH1vNYOy1nUnubS6p9SGGTftXAw=; b=A6EFa2Aq4tPS6dLVnKw+yLEutxlo0A1aqavdoZbWAAM3pcOdwy/CC/pOVeOq3Dhofd DcklWtlpUAzL8sjXmD9ry1iXuLPODJHqpf4fONR1vu+KZrkGstB5WxKKT2QJ9LYk/xG+ 1o93mjpe+C1HmhZk8ToKHEynid5vT+PVCXfEI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; b=NfQNySdTg7468qlBEXYDkqGNXEy3lKBUpQidB991kI/0M0nNl96sdnZ5v539oSYxeN /RLpbFKs3Biit4XUjeo+03y3j0X+QLdy7POVKizVhR0oF18FGhExC/ksP+z1FbicesZM GgAi9oEqc+yqzJ25owolnrqsCfrXuvM4Xy5m0= Received: by 10.224.65.69 with SMTP id h5mr1992133qai.190.1254073067193; Sun, 27 Sep 2009 10:37:47 -0700 (PDT) Received: from ?192.168.1.98? ([72.44.99.175]) by mx.google.com with ESMTPS id 4sm5958314qwe.25.2009.09.27.10.37.44 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 27 Sep 2009 10:37:45 -0700 (PDT) Message-ID: <4ABFA264.7060903@gmail.com> Date: Sun, 27 Sep 2009 13:35:32 -0400 From: Edgar Friendly User-Agent: Thunderbird 2.0.0.23 (X11/20090817) MIME-Version: 1.0 To: Vincent Aravantinos , caml-list@yquem.inria.fr Subject: Re: [Caml-list] JIT & HLVM, LLVM References: <4E6F3027-5745-462D-AF10-30C868285D28@refined-audiometrics.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; run-time:01 ocaml:01 compiler:01 runtime:01 compilation:01 ocaml:01 compilation:01 compiler:01 edgar:98 polymorphic:01 wrote:01 compile:01 caml-list:01 functions:01 modules:02 Vincent Aravantinos wrote: > Hi, > > I think what Jon means is that, with JIT, polymorphic functions can be > specialized at run-time > and allow optimizations that are not currently achieved by the Ocaml > native code compiler. > > V. The alternative to specializing at runtime using JIT is to do it at compile time (/ link time) using a form of whole-program analysis. How expensive would this be, and how hard would it be to still support separate compilation? And how much would the OCaml world cry if we didn't have fully-separate compilation? At the moment, and for the foreseeable future, anything binary is bound tightly to the compiler version, and binary distribution of modules seems pretty much impossible due to this and unknown other factors. How much easier would the above be given the source code / some intermediate representation to generate specialized code with? E