Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!mailrus!iuvax!pur-ee!a.cs.uiuc.edu!uxc.cso.uiuc.edu!urbsdc!aglew From: aglew@urbsdc.Urbana.Gould.COM Newsgroups: comp.arch Subject: Re: Self-modifying code Message-ID: <28200177@urbsdc> Date: 13 Jul 88 15:15:00 GMT References: <5254@june.cs.washington.edu> Lines: 41 Nf-ID: #R:june.cs.washington.edu:5254:urbsdc:28200177:000:1761 Nf-From: urbsdc.Urbana.Gould.COM!aglew Jul 13 10:15:00 1988 >Today, people are finding new uses for self-modifying code that >were unforseen 20 years ago: > >1. ... BITBLT ... > >2. Peter Deutsch and PARCPLACE systems used a new technique to speed >up Smalltalk on conventional computers... > >In light of these new techniques, I believe it's time to reexamine >our opinions about self-modifying code. > >Don Gillies, Dept. of Computer Science, University of Illinois >1304 W. Springfield, Urbana, Ill 61801 >ARPA: gillies@cs.uiuc.edu UUCP: {uunet,ihnp4,harvard}!uiucdcs!gillies Two useful techniques. Both of them can be cast in the form of "compile an entire procedure/function" (although I have seen BITBLTs that compile code fragments and branch to them, I think those are better understood as BITBLTs with streamlined function calling sequences). One of my favourite languages was POP-2, where the compiler was a subroutine that could be used to compile code, returning what was essentially a pointer to a function. May I suggest that, perhaps, this is the moral: from the point of view of programming principles, self-modifying code where the granule is the procedure is not bad. Smaller granules are dangerous/hard to use. (I've been running a pretty good streak of stupid mistakes in my posts recently. Tell me all about them) Andy "Krazy" Glew. Gould CSD-Urbana. 1101 E. University, Urbana, IL 61801 aglew@gould.com - preferred, if you have MX records aglew@xenurus.gould.com - if you don't ...!ihnp4!uiucuxc!ccvaxa!aglew - paths may still be the only way My opinions are my own, and are not the opinions of my employer, or any other organisation. I indicate my company only so that the reader may account for any possible bias I may have towards our products.