Self Modifying Code 
Author Message
 Self Modifying Code

I am interested in readers' experiences with self-modifying code.

Specifically, I'm interested in knowing of 'standard' programming
tricks that have been used in conjunction with self modifying code, and
in what kinds of programs and on what kinds of architectures self
modifying or self generating code has proven to be useful.

I'm interested in any of these three kinds of self-modifications,
although for the moment I'm focusing on fine-grain modifications:

*fine-grain shape-preserving self modifications (such as changing an
instruction every time through a loop)

*medium/coarse-grain shape-preserving self modifications (similar to
relinking code prior to executing it)

*shape-altering modifications via on-the-fly code generation (this is
used in some bit-blit kernels, and in some interpreters for lisp and
Smalltalk)

Please don't flame me about system's level issues.  I'm perfectly aware
that self-modifying code is not reentrant; is not sharable; it can't
reside in a ROM; it must be paged; it leads to serious cache coherency
problems; it isn't easy to understand; it is architecture and
perhaps implementation dependent.

Please send mail directly to me, and I'll (eventually) post a summary.

Thanks,
        Robert R. Henry
        Computer Science Department
        University of Washington



Tue, 17 Nov 1992 18:03:00 GMT  
 Self Modifying Code
I am interested in readers' experiences with self-modifying code.

Specifically, I'm interested in knowing of 'standard' programming
tricks that have been used in conjunction with self modifying code, and
in what kinds of programs and on what kinds of architectures self
modifying or self generating code has proven to be useful.

I'm interested in any of these three kinds of self-modifications,
although for the moment I'm focusing on fine-grain modifications:

*fine-grain shape-preserving self modifications (such as changing an
instruction every time through a loop)

*medium/coarse-grain shape-preserving self modifications (similar to
relinking code prior to executing it)

*shape-altering modifications via on-the-fly code generation (this is
used in some bit-blit kernels, and in some interpreters for lisp and
smalltalk)

Please don't flame me about system's level issues.  I'm perfectly aware
that self-modifying code is not reentrant; is not sharable; it can't
reside in a ROM; it must be paged; it leads to serious cache coherency
problems; it isn't easy to understand; it is architecture and
perhaps implementation dependent.

Please send mail directly to me, and I'll (eventually) post a summary.

Thanks,
        Robert R. Henry
        Computer Science Department
        University of Washington



Tue, 17 Nov 1992 18:03:00 GMT  
 Self Modifying Code

Quote:
> I am interested in readers' experiences with self-modifying code.

Over the last twenty years, my experience is:

Quote:
>  ... self-modifying code is not reentrant; is not sharable; it can't
> reside in a ROM; it must be paged; it leads to serious cache coherency
> problems; it isn't easy to understand; it is architecture and
> perhaps implementation dependent.

... plus, it leads to coding errors (how did you forget that one?).

Michael Stack
Northern Illinois University



Tue, 17 Nov 1992 22:22:00 GMT  
 
 [ 3 post ] 

 Relevant Pages 

1. Languages for self-modifying code

2. Languages for self-modifying code

3. i-net page on self-modified code

4. Languages for self-modifying code

5. Languages for self-modifying code

6. More About Self-Modifying Code

7. Self Modifying Code

8. Self-Modifying code

9. Languages for self-modifying code

10. Self-Modifying Code

11. self-modifying code

12. Self modifying code in BASM

 

 
Powered by phpBB® Forum Software