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 OAA04018 for caml-red; Thu, 4 Jan 2001 14:33:47 +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 KAA05021 for ; Thu, 4 Jan 2001 10:04:40 +0100 (MET) Received: from nef.ens.fr (nef.ens.fr [129.199.96.32]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id f0494ZL24711; Thu, 4 Jan 2001 10:04:39 +0100 (MET) Received: from clipper.ens.fr (clipper-gw.ens.fr [129.199.1.22]) by nef.ens.fr (8.10.1/1.01.28121999) with ESMTP id f0494YM95710 ; Thu, 4 Jan 2001 10:04:34 +0100 (CET) Received: from localhost (frisch@localhost) by clipper.ens.fr (8.9.2/jb-1.1) id KAA23811 ; Thu, 4 Jan 2001 10:04:34 +0100 (MET) Date: Thu, 4 Jan 2001 10:04:34 +0100 (MET) From: Alain Frisch To: Fabrice Le Fessant cc: OCAML Subject: Re: JIT-compilation for OCaml? In-Reply-To: <14932.13896.248239.656450@cremant.inria.fr> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: weis@pauillac.inria.fr On Thu, 4 Jan 2001, Fabrice Le Fessant wrote: > > , maybe with some modification to prevent reverse engineering. > > Don't understand what you want. Reverse engineering is always > possible ... I meant: making it more laborious. For instance by changing the name of identifiers or the structure of the code. I know that Java bytecode has been blamed for allowing straightforward reverse engineering by recognizing standard patterns associated to constructions in the source. For OCaml, the lambda representation may be already far enough from the source code. > > For instance, it is possible to watch conditionnal jumps and > > reorganize the code so that the most taken branches don't need any > > jump. > > This has nothing to do with JIT. Using profiling information can also > be done for statically compiled programs, by recompiling them with > this information. (this is already done by many compilers). My point, precisely. If the JIT can't make the code run faster than a static bytecode-to-nativecode converter, that is, if it doesn't use any profiling information, I don't see how it is useful. -- Alain