From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p7QDCrp9002032 for ; Fri, 26 Aug 2011 15:12:57 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgoUAMqaV04+3JIEgWdsb2JhbABCmH+NLoFrFAEBFiYlgUABQDQmiSqaJ6A9hWxgBJMahQ2LdQ X-IronPort-AV: E=Sophos;i="4.68,285,1312149600"; d="scan'208";a="117289527" Received: from vs.philou.ch ([62.220.146.4]) by mail1-smtp-roc.national.inria.fr with ESMTP; 26 Aug 2011 15:12:57 +0200 Received: from [127.0.0.1] (vps18093.ovh.net [46.105.26.30]) by vs.philou.ch (Postfix) with ESMTPSA id 25D42706145 for ; Fri, 26 Aug 2011 15:12:50 +0200 (CEST) From: Philippe Strauss Content-Type: text/plain; charset=us-ascii Date: Fri, 26 Aug 2011 15:12:31 +0200 Message-Id: To: caml-list@inria.fr Mime-Version: 1.0 (Apple Message framework v1084) X-Mailer: Apple Mail (2.1084) Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by walapai.inria.fr id p7QDCrp9002032 Subject: [Caml-list] Re: Linear Scan Register Allocator for ocamlopt/ocamlnat (I missed the begin of the thread, so I do some splicing from the mailing list archiver, sorry about that) I would be very interested in an typed inline ASM in ocaml native, I've just dicovered SIMD intrisics in gcc, well, discovered using it, and that simple approach with static typing, and the C language to do function and loops prologue is a breeze. I've never have the gut to learn full assembly (hum, on the mac, the 16bytes alignment of everything, including stack, is repulsive), only looking at the code generated by gcc, and tuning my C before then. the cc intrisics approach is a low barrier entry level, which is good in computer science nowadays. Regards. - Hello, As mentioned earlier we have a student working on an implementation of the Linear Scan Register Allocator [1] for ocamlopt (and thereby ocamlnat). It took some time, but now there's a first working patch which looks promising. This work is done by Marcell Fischbach as part of his diploma thesis. The idea is to use the linear scan algorithm to drive the register allocation in the native top-level ocamlnat at some point, as suggested by Fabrice Le Fessant [2]. Marcell is now working to implement a proof-of-concept of an inline assembler for ocamlnat on i386 based on code from Alain Frisch an Fabrice Le Fessant. The result will also be contributed once ready, and will be used to effectively compare ocamlnat and the byte-code ocaml top-level. The linear scan implementation reuses as much of the existing ocamlopt functionality as possible, so additional maintenance overhead should be manageable. Comments and suggestions are welcome of course. Please keep Marcell CC'ed with any replies as he's not subscribed to the list. greets, Benedikt