From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id VAA30419 for caml-red; Thu, 4 Jan 2001 21:19:14 +0100 (MET) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id QAA03363 for ; Thu, 4 Jan 2001 16:13:38 +0100 (MET) Received: from mail.mangoosta.net ([217.11.161.6]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id f04FDcL08322 for ; Thu, 4 Jan 2001 16:13:38 +0100 (MET) Received: from adsl163-197.mangoosta.net ([217.11.163.197] helo=alan-schm1p) by mail.mangoosta.net id 14EC5B-0007Vc-00 for caml-list@inria.fr; Thu, 04 Jan 2001 09:13:37 -0600 Received: by alan-schm1p (sSMTP sendmail emulation); Thu, 4 Jan 2001 15:12:56 +0100 From: Alan Schmitt Date: Thu, 4 Jan 2001 15:12:56 +0100 To: OCAML Subject: Re: JIT-compilation for OCaml? Message-ID: <20010104151256.B13161@alan-schm1p> Mail-Followup-To: OCAML References: <03E742431696D311BD1B00062938251704C4C6AD@cpex1.channelpoint.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2i In-Reply-To: <03E742431696D311BD1B00062938251704C4C6AD@cpex1.channelpoint.com>; from jrj@channelpoint.com on Wed, Jan 03, 2001 at 08:24:53AM -0700 Organization: INRIA Rocquencourt Sender: weis@pauillac.inria.fr This reminds me of slim binaries and runtime optimizations ... (see http://caesar.ics.uci.edu/oberon/research.html#SlimBinaries ) I noticed something funny there: the PhD student who was working on dynamic optimizations is now working for Transmeta. What a coincidence ;-) Alan Schmitt >[JRJ] There are many other sorts of optimizations that can be done by >compiling at runtime. A simple case is that processor-specific instructions >can be generated instead of generic ones (e.g. Pentium III instructions >rather than generic 486). A more interesting example is used by Sun's >current JIT compiler... Aggressive inlining and direct dispatch are done >for all sorts of method calls (that could potentially be overloaded). If a >class is later loaded that extends one of the inlined or directly called >methods, the JIT compiler goes back and "unoptimizes" the code it had >previously optimized! -- The hacker: someone who figured things out and made something cool happen.