From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by c5ff346549e7 (Postfix) with ESMTPS id 92F0D5D5 for ; Thu, 26 Apr 2018 17:11:40 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.49,331,1520895600"; d="asc'?scan'208";a="324636122" Received: from sympa.inria.fr ([193.51.193.213]) by mail2-relais-roc.national.inria.fr with ESMTP; 26 Apr 2018 19:11:38 +0200 Received: by sympa.inria.fr (Postfix, from userid 20132) id 959E482450; Thu, 26 Apr 2018 19:11:38 +0200 (CEST) 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 1313082416 for ; Thu, 26 Apr 2018 19:11:33 +0200 (CEST) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=info@gerd-stolpmann.de; spf=None smtp.mailfrom=info@gerd-stolpmann.de; spf=None smtp.helo=postmaster@mout.kundenserver.de IronPort-PHdr: =?us-ascii?q?9a23=3Amv458RwUciwbl8zXCy+O+j09IxM/srCxBDY+r6Qd?= =?us-ascii?q?2+MeIJqq85mqBkHD//Il1AaPAd2Araocw8Pt8InYEVQa5piAtH1QOLdtbDQizf?= =?us-ascii?q?ssogo7HcSeAlf6JvO5JwYzHcBFSUM3tyrjaRsdF8nxfUDdrWOv5jAOBBr/KRB1?= =?us-ascii?q?JuPoEYLOksi7ze+/94HdbglSmDaxfa55IQmrownWqsQYm5ZpJLwryhvOrHtIeu?= =?us-ascii?q?BWyn1tKFmOgRvy5dq+8YB6/ShItP0v68BPUaPhf6QlVrNYFygpM3o05MLwqxbO?= =?us-ascii?q?SxaE62YGXWUXlhpIBBXF7A3/U5zsvCb2qvZx1S+HNsDtU7s6RSqt4LtqSB/wiS?= =?us-ascii?q?cIKTg58H3MisdtiK5XuQ+tqwBjz4LRZoyeKfhwcb7Hfd4CWGRPQMhRWSxCDI2y?= =?us-ascii?q?YYQAAOgOMvpDoonyu1cDtxywCRWiCe7tzDJDm3/43bc90+QkCQzI3RIvH8gTv3?= =?us-ascii?q?/Jsdv1KKASUeStzKnN1zrDafVW0ir65YjJdBAhr/aMUKl/ccXP00kgChrJjk6M?= =?us-ascii?q?qYziOzOVzuENvHKd7+pmT+6glnAophh3rzOyyMksjYzJiZgUylDC7Sh5z5g6Jc?= =?us-ascii?q?elR0Jiet6kDJxQtyWCN4tzWMwiRWdotDwnxbIYoZK0YDIFyJEjxxHDavyHb4iJ?= =?us-ascii?q?7gjkVOaLLjd1gm9udrGnhxuq70Ss1+/xWtO23VpUtCZJj93Bum4X2xHR6sWLUv?= =?us-ascii?q?hw80e71TqS1A3e5PtILEEwmKbBNpIsw6M8m5wOukrZBCD2gl/5jKqOe0Uk5Oeo?= =?us-ascii?q?7+Pnb63jpp+bKo90lhvyMqczmsy5HOs3LA4OX3OF9uSmyr3s41f5TK9XgfIoiq?= =?us-ascii?q?XZsZbaKtoHpqOhHQNZz4Qu5wy9Aju4ytgUgH0KIExfdB+Fj4XlI1TOL+r5Dfe7?= =?us-ascii?q?jVSsijBrx/XeM73gBJXNIH/Dnazufblj8U5T1RM/zctD55JTDrEBOPfzVVX3tN?= =?us-ascii?q?zeFBM2LhK7z/79CNphzoMeRX6PAqiBPazOq1CI4+YvL/CIZI8Uozb9N+Mo5+Xu?= =?us-ascii?q?jH88gV8SZ7Ol3ZoRaHCiH/RpOV+VYXT2goRJLWBfpgszUPbtwFeYWD9UYXv6C7?= =?us-ascii?q?o96y0hD8SsF47CQYagqKGH3SK6FNtXejYCQluFFHOtc4SfR98NbjiTK4lviG8q?= =?us-ascii?q?T7+kHqAszx3mjxP9z6JiJ+zSsnkZs5zk/Nd4/eGWjg018SRxBsKblW2AGTIn1l?= =?us-ascii?q?gUTiM7ifgs6Xd2zU2OhO0h26QBRI5joshRWwJ/DqbyiulzCtT8QAXEJ4bbR1u8?= =?us-ascii?q?TpC9HTY1Vtc4xdlIb0svQ4z+3CCG5DKjBvour5LOHIY9q/OO0HXrK4Nm13HCzK?= =?us-ascii?q?woiV9gTsYdbTT71J46zBDaAsvyq2vcl6uucv5GjivK6XvFzneIsExeSwNqT6jf?= =?us-ascii?q?G3wSNBPb?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BkAAArB+JahkvASNlbGgEBAQEBAgEBA?= =?us-ascii?q?QEIAQEBAYQkeiiDa5R5gUspD4EAkyeBZAgDHwwBhEACgkgZBgY0FAECAQEBAQE?= =?us-ascii?q?BAQEBEwEBAQgLCwgoIwyCNSQBgkkBAgMjMjQLGCoCAlcGAQwGAgEBBYUKAQqoG?= =?us-ascii?q?4IciEOCNg+FbYIkVIE/gTKCaIMGCwOBJ0SCdIJUAocSBxiQWAh1SgOCAIFShx6?= =?us-ascii?q?CEIdPhQyQO4ElM4FzTSQUO4JDCYIlhAGEYYVAbQF5AQGQMAEB?= X-IPAS-Result: =?us-ascii?q?A0BkAAArB+JahkvASNlbGgEBAQEBAgEBAQEIAQEBAYQkeii?= =?us-ascii?q?Da5R5gUspD4EAkyeBZAgDHwwBhEACgkgZBgY0FAECAQEBAQEBAQEBEwEBAQgLC?= =?us-ascii?q?wgoIwyCNSQBgkkBAgMjMjQLGCoCAlcGAQwGAgEBBYUKAQqoG4IciEOCNg+FbYI?= =?us-ascii?q?kVIE/gTKCaIMGCwOBJ0SCdIJUAocSBxiQWAh1SgOCAIFShx6CEIdPhQyQO4ElM?= =?us-ascii?q?4FzTSQUO4JDCYIlhAGEYYVAbQF5AQGQMAEB?= X-IronPort-AV: E=Sophos;i="5.49,331,1520895600"; d="asc'?scan'208";a="324636096" Received: from mout.kundenserver.de ([217.72.192.75]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-GCM-SHA256; 26 Apr 2018 19:11:32 +0200 Received: from office1.lan.sumadev.de ([85.183.69.161]) by mrelayeu.kundenserver.de (mreue104 [212.227.15.183]) with ESMTPSA (Nemesis) id 0MCZ7q-1f2R2O2BKk-009QaV; Thu, 26 Apr 2018 19:11:30 +0200 Received: from gerdbook.fritz.box (unknown [192.168.65.10]) by office1.lan.sumadev.de (Postfix) with ESMTPSA id 71C7EDC05D; Thu, 26 Apr 2018 19:11:29 +0200 (CEST) To: pietro braione , caml-list@inria.fr References: <25566A29-68D9-4A7D-B855-D33A54024DD4@unimib.it> From: Gerd Stolpmann Openpgp: preference=signencrypt Autocrypt: addr=gerd@gerd-stolpmann.de; prefer-encrypt=mutual; keydata= xsDiBEHy0HQRBACcYHEsm7JzPUHqgutdqFQaGMUCqf9BUCHrr6hmUm732nN8tZt0IPxEaOdY XSyOp68Ygz56Aj3GiA29QdPzK9j2w5LAXNueFKT0zv64sa6XSgzUsFQ92xCSruQb86y0EYEJ iZ2h/E0hESPB47EJayB8UZfzH8s5OK2eUqIB6qIlXwCgkH94jEdriRgfXfn60SvWtPTPZwkD /3rNHqrHaPnzFoOQuksUQ3nMeKWQ7nLt/Mj0bxQRWBLKlzUuLluVzFBqYNv/HRXeycSdlcDZ XXP1Oy4Jh4U4qaOqute/AwmmEU9Gw86GGY8nvoOvjO0IVZIHLklGa2XVL4BxbwSd75LCDzA3 FIY+Y+0VBxHAIF8fX0B4qiIWFCO9BACWzimZjE//Z+cA8HsB+g4db6fFTCd/LFIyEmZ0/xqw 1JNJ25+jXUpeu2AtztmHl84qBm8WmTsrKgol64q2wjAdhVKVT7eiveh7fBM0LO4Yp8vI9GUv coPVNOcxiJDS8/R+SatlDYUI/t1YRPpeFzpW1eZaZFoRz2Ygg9Mo7Yxa/M0qR2VyZCBTdG9s cG1hbm4gPGFuZnJhZ2VAZ2VyZC1zdG9scG1hbm4uZGU+wmIEExECACIFAlIGfNQCGwMGCwkI BwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEJELcf9sI3d/1coAmgPA7ijPYJb7EGVab7FGrFyr 91qEAJ4y7VUo8nCajx/CkadAA0eYGyCQgM7ATQRSBn6TAQgAsrvDTWL9o3M4a3F+7T6wXy5X C4H0q+BTTPSB+T9KQXZNDcdGAq429YN96IhycCB+dBqATHrCd5288wqO4mH2T7DOX4YoB2i7 9MsW4VkJ937YBtlPghc86Pm8bkmLl5DhmmQv4NgRnOVUGP2RnCaFR5dp4GVztPga4wsAs7dI rYo9cPTwErwiJolyUCxwS1WuCFDmKfiFjKLKRRAS3xOai2Xsc20IW4qlSrOCuzev+uB/It6J 6Wxcw194Adw6AJ3EAhctbDPxbVNsxhBQgI9jhkjAWhG0h5p6BlVIgm6TobjwO5vOOesKEy5Y 0l9fwQ9iefmw0SXM+vd4EhIY73AKqwARAQABwkkEGBECAAkFAlIGfpMCGwwACgkQkQtx/2wj d39HxwCcDX5DkK/moIImwOJkCGzqK8BRxnIAnRM/skC22cz6/k/BvF6AkJl8e8D3 Message-ID: Date: Thu, 26 Apr 2018 19:11:18 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <25566A29-68D9-4A7D-B855-D33A54024DD4@unimib.it> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="P5pI4SxzF93LVgbcA4sD7iiMyDmqcyfkq" X-Provags-ID: V03:K1:gy9z3kaKUKCXxYmGC/2+Oaf5JRww5rxvYrG+32k5H8wGdXuaL9S c0rx0MTS0838tTDIsq0zMVhGi/x5SFnbPwIDal5Zftu2Ch87WjSJ18taSHW9Tw524PwVKe5 FZbF8u9r/ulg7cDSFIlxG5FTaKIoeqBSq1v0PqvnQs2ywV/3C0wi8230pu7E3D522a8Hi4C dXWW+NFQDB8srmFwzykZQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:G1pABAcz4O4=:NU7G5PrCq1CDFgqSS52BWP LHthL2s9ZC7OHQRoo0eCzLfGqoeYO08ZRjqPISJGW3OEMfNyer394QZDaCv1GiuZVKN2KyVCY p2enY0EY5YwKxbBzAhX7xfkTukDNVpUkradVIE/TrAqeCb0jDXirCRSyfxPhJBJnj7AHMnaAi Qr/ox4EmM8UVoSrENhd5dotextgaROU6MlXzkvRJIw9GWgkzet/+YBQ0HQtA3z5axOEmtWDp7 Q+XIzp/eame+CbUF4y75UvY6UGuyPLSDDNpqzIbUY84eM89CXoSCoMY09lYXyrJnjMxDVP7Ac 5i/+pXEJKFQArW3Z/8LPqkFvPiYlJsjK8aliH3drGMS/+7iIIEI7EoF2g0dUQxpI3rpGeN9sA l2fDcZamsocMTq75LDRPjccMwC25vksozcE3hEPODAwXXjSsTolOmKnu27heYI0tITOqlmGyg VG9BJG5mZiv5rbWiMaZSZ/sRu2//QfbV7+iC5uqdCYxvWbMHCp2FU60xt5RSp378PReVqEzOS TtKpdeNPfD5NHdR64+5jB9GhX+5jo+kO6t+F4Gn9dRd8mL45vGujwOLbfuSW5gogX8aqNp7/a jtep8gjnfpbzhmxmJWTkreNhkh8Kyj9FKSfGA0tqL/BuRHPQjgLTbag5GV7ISD84fgh9hYFE2 9qmv9MP+/8rjRAzjftw+hz5U48XyIrQyjTQOiY0lmP3L2xeDxhQqTvGaUTSeVthcMLcM= Subject: Re: [Caml-list] Advices on JITting Reply-To: Gerd Stolpmann X-Loop: caml-list@inria.fr X-Sequence: 16857 Errors-to: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --P5pI4SxzF93LVgbcA4sD7iiMyDmqcyfkq Content-Type: multipart/mixed; boundary="xp1UYIrPB26pLWsXRygr3k9pMvWkFDOgt"; protected-headers="v1" From: Gerd Stolpmann To: pietro braione , caml-list@inria.fr Message-ID: Subject: Re: [Caml-list] Advices on JITting References: <25566A29-68D9-4A7D-B855-D33A54024DD4@unimib.it> In-Reply-To: <25566A29-68D9-4A7D-B855-D33A54024DD4@unimib.it> --xp1UYIrPB26pLWsXRygr3k9pMvWkFDOgt Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-Language: en-US Dear Pietro, as far as I remember the bytecode is on the outer level a sequence of functions/definitions, and some of them can be recursive, as if the whole program looked like a sequence let rec f1 =3D ... and f2 =3D ... and f3 =3D ... let rec g1 =3D ... and g2 =3D ... and g3 =3D ... and so on. Closures are transformed into such functions, as well as higher-level stuff like modules. You could take these let rec clusters as your chunks. For analyzing the structure of the bytecode, have also a look at the js_of_ocaml sources, which is restoring the functional structure from the bytecode. Gerd On 26.04.18 14:22, pietro braione wrote: > Dear all,=20 > I am building a toy implementation of a JIT compiler for the ocaml inte= rpreter, but I am clueless about how to define the compilation units. The= compiler is on the trivial-but-fast side (remember, it=E2=80=99s just a = toy), so I would avoid the complexity of a tracing jit, at least by now. = This means: statically divide the bytecode into chunks and profile/compil= e at the granularity of these chunks. The problem is, I have no idea what= a decent criterion for chunking the bytecode could be. Does anyone have = an idea at the regard? > Thank you > Pietro > --=20 ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany gerd@gerd-stolpmann.de My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ --xp1UYIrPB26pLWsXRygr3k9pMvWkFDOgt-- --P5pI4SxzF93LVgbcA4sD7iiMyDmqcyfkq Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEDD3jJ6xcCmoYHoi4Bozhv1ksHlMFAlriCDcACgkQBozhv1ks HlMbzAf+MEvORtQwphrEdUMjR3BNWEtq6xLWp47ldOAIzigmZ5oWMikajA1freCu NJ2xXbRkhChDhaEiGVVZx1hyBp4gjwyayYNXJJmIr+fgUPBR44g2o8z3KB9SMStW Z6+QNYV2XBCZK6twLsYtVlcgSWYfvNa+/RnH0/zSEdzZqJfd4R8fiHf6aOL9uQsW sGphABn77LWsRm5SOcMzGdX8GMwBB4apT9Gvo73HwSJCXKaS0Dt/G28jBObo9xqn N50ZxVGNIvfvCLkksx1tacREX42WueNdB8ztwZlHoJ+bnGUtomNKzhTfeBheLWEQ lx99PSi+PUaCYOPwAnlCdfV7qMxKXg== =Fw9p -----END PGP SIGNATURE----- --P5pI4SxzF93LVgbcA4sD7iiMyDmqcyfkq--