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