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.