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 mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id DF5907F736 for ; Sun, 27 Sep 2015 16:33:01 +0200 (CEST) IronPort-PHdr: 9a23:txKEZhCVFDs34hecPXkYUyQJP3N1i/DPJgcQr6AfoPdwSP78pMbcNUDSrc9gkEXOFd2CrakU16yL6Ou/BiQp2tWojjMrSNR0TRgLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpQAbFhi3DwdpPOO9QteU1JTrkb3psMKMKyxzxxODIppKZC2sqgvQssREyaBDEY0WjiXzn31TZu5NznlpL1/A1zz158O34YIxu38I46Fp34d6XK77Z6U1S6BDRHRjajhtpZ6jiR6WdwKI+39UfngVn1IcGQHC8RX2dpj0uyr+8OF63X/JE9fxSOUrWTW+4r52QQXrwHMYNz8l/XjKg9ZzpL1boQ6svgF22Y2SZ5uaYqktNpjBdM8XEDISFv1aUDZMV8blN9MC Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=whitequark@whitequark.org; spf=Pass smtp.mailfrom=whitequark@whitequark.org; spf=None smtp.helo=postmaster@mail.whitequark.org Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of whitequark@whitequark.org) identity=pra; client-ip=176.58.103.125; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="whitequark@whitequark.org"; x-sender="whitequark@whitequark.org"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of whitequark@whitequark.org designates 176.58.103.125 as permitted sender) identity=mailfrom; client-ip=176.58.103.125; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="whitequark@whitequark.org"; x-sender="whitequark@whitequark.org"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail.whitequark.org) identity=helo; client-ip=176.58.103.125; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="whitequark@whitequark.org"; x-sender="postmaster@mail.whitequark.org"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CdBAAG/QdW/31nOrBdg3jAL4V3AoFZEAEBAQEBAQEBgQmCHYIIAQEEOAI2CRAEBwkPLiwrBhuIKgnKfQEBAQEGAgEbBIpLgSWFDQeELAEEjXCIAIFQg0WHdoFTlgODbTgrhAQ7iVQBAQE X-IPAS-Result: A0CdBAAG/QdW/31nOrBdg3jAL4V3AoFZEAEBAQEBAQEBgQmCHYIIAQEEOAI2CRAEBwkPLiwrBhuIKgnKfQEBAQEGAgEbBIpLgSWFDQeELAEEjXCIAIFQg0WHdoFTlgODbTgrhAQ7iVQBAQE X-IronPort-AV: E=Sophos;i="5.17,597,1437429600"; d="scan'208";a="179628333" Received: from fehu.whitequark.org (HELO mail.whitequark.org) ([176.58.103.125]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/ADH-AES256-GCM-SHA384; 27 Sep 2015 16:33:01 +0200 Received: by mail.whitequark.org (Postfix, from userid 33) id 62F17138FDC; Sun, 27 Sep 2015 14:33:00 +0000 (UTC) To: Raoul Duke X-PHP-Originating-Script: 1000:rcube.php MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Sun, 27 Sep 2015 17:33:00 +0300 From: whitequark Cc: OCaml In-Reply-To: References: <1443259698.4442.12.camel@e130.lan.sumadev.de> Message-ID: <1acefe77c30ce33c0adba49605bd9325@whitequark.org> X-Sender: whitequark@whitequark.org User-Agent: Roundcube Webmail/1.1.0 Subject: Re: [Caml-list] whither portability? On 2015-09-27 03:55, Raoul Duke wrote: >> Both ocamlc and ocamlopt work for iOS and Android; there is not really >> a good reason to use the bytecode compiler for deployment to mobile. >> >> There is no such thing as "LLVM bytecode" and LLVM bitcode (sic) >> is merely an intermediate format for native executable code. Shipping >> LLVM bitcode offers no conceptual improvement over shipping >> machine code and in any case, there is neither an LLVM backend >> for ocamlopt nor much need for such a backend. > > Yes, "bitcode" is the right term. It is now the format Apple wants. So > I dunno why people would actively discount it here. Right now, LLVM IR (of which the bitcode is a serialization) is not flexible enough to express the invariants and metadata required for the OCaml GC to function[1]. Even if someone released the necessary, highly nontrivial changes to both LLVM and OCaml today, it would take many months for them to be reviewed, merged & propagated into Apple's LLVM fork--all for a small improvement in a select few numeric workloads that can benefit from using the instruction selector tailored for the particular device, and a substantial reduction in being able to debug your code[2]. [1]: https://github.com/whitequark/ocaml-llvm-ng/issues/1#issuecomment-141844579 [2]: https://medium.com/@FredericJacobs/why-i-m-not-enabling-bitcode-f35cd8fbfcc5 -- whitequark