|Debuggers think!cullvax!drw%eddie.mit.edu (1987-03-07)|
|Re: Debuggers harvard!rutgers!sri-unix!ctnews!mitisft!markb (1987-03-12)|
|Re: Debuggers harvard!rutgers!spam!ames!ucbcad!ucbvax!decvax!vir (1987-03-15)|
|Re: Debuggers decvax!decwrl!mips!himel (1987-03-23)|
|Debuggers email@example.com (1991-08-08)|
|Re: debuggers firstname.lastname@example.org (1993-11-11)|
|Re: debuggers email@example.com (1993-11-11)|
|Re: debuggers firstname.lastname@example.org (1993-11-11)|
|debuggers email@example.com (1993-11-11)|
|[4 later articles]|
|Date:||Fri Mar 13 04:58:33 1987|
|Organization:||Virgin Software Ltd. Nashua, NH|
About 7 years ago I did some very preliminary studies involving the
BLISS-32 code generator while I was at Digital. I managed to convince
myself that it was possible to derive source code from the optimized
object code, however, one would have to make extensive use of
Unfortunately, I was unable to convince management that there was
sufficient payback to warrant a project. (I used the concept of filtering
optimized object code through a source generator, and then filtering
that back through the optimizer. They weren't interested: the existing
optimizations were good enough, and I was proposing orders of
magnitude more time to do a compile.)
The heuristics would only be good for a certain class of compilers
and their code generators. The peephole optimizers and cross jumping
done by different compilers would create an enormous explosion of
possible source codes.
I eventually came to the conclusion that there are two possible uses
of 'compiling object into source'. 1) As a study in a given compiler's
effectiveness at handling particular classes of programs. and 2)
as an analysis tool to see how a computer would execute a program.
The original thought of increasing code optimization would turn out
to be an impractical use; with a good optimizer in the first place,
you would not obtain practical results after the second iteration.
If you're interested, I'll try to dig up my notes.
Return to the
Search the comp.compilers archives again.