From owner-freebsd-hackers Thu Mar 30 11:56:59 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id LAA07205 for hackers-outgoing; Thu, 30 Mar 1995 11:56:59 -0800 Received: from netcom15.netcom.com (bakul@netcom15.netcom.com [192.100.81.128]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id LAA07198; Thu, 30 Mar 1995 11:56:57 -0800 Received: from localhost by netcom15.netcom.com (8.6.11/Netcom) id LAA01564; Thu, 30 Mar 1995 11:51:07 -0800 Message-Id: <199503301951.LAA01564@netcom15.netcom.com> To: Richard Tobin cc: Dave Cornejo , jkh@freefall.cdrom.com (Jordan K. Hubbard), freebsd-hackers@FreeBSD.org Subject: Re: HotJava In-reply-to: Your message of "Thu, 30 Mar 95 14:21:17 +0100." <199503301321.OAA05112@deacon.cogsci.ed.ac.uk> Date: Thu, 30 Mar 95 11:51:00 -0800 From: Bakul Shah Sender: hackers-owner@FreeBSD.org Precedence: bulk > The usual problems with on-the-fly code generation are > (a) If you jump to the new code just after writing it, your pipeline may > get filled before the code is written. This can be solved by > executing a few NOPs after generating the code. > (b) If you have separate I/D cache, you may have to flush (part of) the > I cache in order to see the modified code. This doesn't arise on > 386/486, does it? What about 586? You need OS support to turn a data page into an executable page (usually an executable page is read only & shared). mprotect() should do the trick though. Also, AFAIK, not every processor allows you flush cache via user mode instructions so you may need OS help there. > > I must say I am not sold on Java yet. Scheme remains my > > favorite prototyping language. > I'm hoping that the GNU scripting language (which will be a Scheme) > will come along and displace perl and tk/tcl, but I'm not holding my > breath. At least Java exists, though Sun's experience with NeWS > (which also encouraged downloading small programs [in postscript]) > isn't especially encouraging. Actually, I was not thinking of any such considerations -- I was merely expressing my opinion on the technical merits of the language + sharing my delight in *my* use of Scheme. I don't have the desire to want to save/change the world and for my own use commercial success is immaterial. I will note that for me Java does not exist as yet (I don't use SPARC systems) while Scheme does -- I can choose from over 15 implementations. Scheme would be ideal if it had a decent interface to arbitrary C functions + an on-the-fly code generator.