Self modifying code is in your life every day, if you use Linux. There was a pretty nice talk on it a few years back at ELC.

On Fri, Nov 24, 2017 at 8:17 PM Jon Steinhart <jon@fourwinds.com> wrote:
Doug McIlroy writes:
> Optimal code for bitblt (raster block transfers) in the Blit

Oh yeah, forgot about this one.  I did a version of this for
the 68020 which was blazingly fast when the generated code
fit into the instruction cache.

Jon