[TUHS] Harvard and Von Neumann Architectures and Unix

Doug McIlroy doug at cs.dartmouth.edu
Sun Nov 26 03:34:47 AEST 2017


>From the discussion of self-modifying code:

>> Optimal code for bitblt (raster block transfers) in the Blit
>
> Interesting case. I'm not familiar with BitBLT codes, do they actually modify
> the existing program, or rather do they build small custom ones? Only the
> > former is what I was thinking of.
> 
It built small custom fragments of code. But if that had been in D
space, it couldn't have been executed. 
 
>> Surely JIT compiling must count as self-modifying code.
>
> If it does, then my computer just runs one program from when I turn it
> on.  It switches memory formats and then is forever extending itself and
> throwing chunks away.

Exactly. That is the essence of stored-program computers. The exec
system call is self-modification with a vengeance.

Fill memory-and-execute is the grandest coercion I know. What is
data one instant is code the next.

It's all a matter of viewpoint and scale. Where is the boundary
between changing one instruction and changing them all? Or is
this boundary a figment of imagination?

Doug



More information about the TUHS mailing list