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 MAA25188 for caml-red; Wed, 31 Jan 2001 12:33:13 +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 MAA28747 for ; Tue, 30 Jan 2001 12:08:43 +0100 (MET) Received: from sirius-b.ihep.su (sirius-b.ihep.su [194.190.161.4]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id f0UB8XH16157 for ; Tue, 30 Jan 2001 12:08:39 +0100 (MET) Received: from ihep.su (ihep.ihep.su [194.190.161.127]) by sirius-b.ihep.su (8.10.0/8.10.0) with SMTP id f0UB7vb19839 for ; Tue, 30 Jan 2001 14:07:59 +0300 (MSK) X-Sender: vsl@ontil.ihep.su Received: from ontil.ihep.su by ihep.su (5.65v4.0/RELCOM-IHEPv4.7) id AA20955; Tue, 30 Jan 2001 14:07:55 +0300 Date: Tue, 30 Jan 2001 15:01:06 +0300 (MSK) From: Vitaly Lugovsky To: caml-list@inria.fr Subject: JIT compilation Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: weis@pauillac.inria.fr I just found a lot of troubles with JIT compilation: some instructions (APPLY*, APPTERM*, RETURN, RAISE, GRAB) takes branching address from stack, so, we can't determine its transition to compiled address at compile time, and, so, we don't know exactly "entry points", which can't be optimized out. We need some additional information from compilator along with bytecode. Is it possible to produce a kind of branching tables at a bytecode compilation time? Without this stuff we just can produce flat, unoptimized native code, with transition table for all possible addresses (it will be BIG and SLOW)... -- V.S.Lugovsky aka Mauhuur (http://ontil.ihep.su/~vsl) (UIN=45482254)