From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: * X-Spam-Status: No, score=1.3 required=5.0 tests=BAYES_00,INVALID_MSGID, MSGID_RANDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,1140c4e8eb3fd28f X-Google-Attributes: gid103376,public From: Robert Dewar Subject: Re: Executing machine code? Date: 1999/05/28 Message-ID: <7il2p1$pi6$1@nnrp1.deja.com>#1/1 X-Deja-AN: 482955689 References: <86u2sya7od.fsf@finch.cs.und.ac.za> <7ijqgs$26o@news2.newsguy.com> X-Http-Proxy: 1.0 x35.deja.com:80 (Squid/1.1.22) for client 205.232.38.14 Organization: Deja.com - Share what you know. Learn what you don't. X-Article-Creation-Date: Fri May 28 03:32:48 1999 GMT Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.04 [en] (OS/2; I) Date: 1999-05-28T00:00:00+00:00 List-Id: In article <7ijqgs$26o@news2.newsguy.com>, Samuel Mize wrote: > My word. I doubt you'll find a large body of people with > experience in this area. :-) Actually a lot of GNAT and GNU C users do this without realizing it because the implementation of trampolines does exactly this (create code in the stack on the fly and then execute it). Investigating the gcc implementation of trampolines is a good idea here, it will show you EXACTLY what needs to be done for handling the caches correctly. (the last time I did this kind of thing explicitly was in implementing complex events for the Alsys x86 CIFO implementation for NASA. I actually generated the appropriate boolean predicate code on the fly as a dynamic function :-) Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't.