Re: gawk memory leak

Paul David Fox <>
13 Apr 1997 21:44:26 -0400

          From comp.compilers

Related articles
[8 earlier articles]
Re: gawk memory leak (1997-04-07)
Re: gawk memory leak (1997-04-07)
Re: gawk memory leak (1997-04-08)
Re: gawk memory leak (1997-04-11)
Re: gawk memory leak (1997-04-11)
Re: gawk memory leak (David Chase) (1997-04-11)
Re: gawk memory leak (Paul David Fox) (1997-04-13)
Purify patent (was Re: gawk memory leak) (Elan Feingold) (1997-05-04)
Re: Purify patent (was Re: gawk memory leak) (Sailesh Krishnamurthy) (1997-05-08)
Re: Purify patent (was Re: gawk memory leak) (1997-05-08)
Re: Purify patent (was Re: gawk memory leak) (Duncan Smith) (1997-05-09)
Re: Purify patent (was Re: gawk memory leak) (Paul David Fox) (1997-05-13)
Re: Purify patent (was Re: gawk memory leak) (Hans-Juergen Boehm) (1997-05-17)
[4 later articles]
| List of all articles for this month |

From: Paul David Fox <>
Newsgroups: comp.compilers,comp.arch
Date: 13 Apr 1997 21:44:26 -0400
Organization: None in particular
References: 97-03-165 97-04-020 97-04-022 97-04-037
Keywords: legal, debug, storage

Robert A Duff wrote:
> By the way, I'd be interested in hearing exactly what is patented,
> re: purify.

I did some research into the Purify patent. There are actually 3
inter-related ones. I havent got the reference to hand but the
substance of the patent is 'Use of object code modification to
facilitate memory tracking and leakage detection'.

Basically you can modify .obj files to your hearts content but
only as long as you are not going to be setting up in competition
to them.

I started implementing my own version of Purify to see where the
pitfalls and gotchas are. (For Intel x86/Unix systems since they
dont support it).

The majority of the code is pretty simple. The big killer is that
the standard Unix C compilers generate awful object code - littering
instructions with switch dispatch tables.

I had to implement a pattern recognizer to avoid trying to
insert monitoring instructions into the switch tables.

I got as far as taking a working binary and patching it full of
NOPs and it still worked (~1MB binary). It fell over occasionally.
I havent yet completed the instruction-monitoring code to make
it do something useful.

In my opinion, their patent borders on the boundary of 'something

If you are in the market for memory detection then their mechanism
is just one of the ways to do the job. (The trade offs on the
way Purify works is that generally it is faster than the other
possible implementation techniques - but it is limited in that
it works at the assembler level not the high-level object level).

Anyone who has used Purify will tell you how good it is and what
its deficiencies are.

I would guess in about 13 years time (when the patent runs out) Purify
will be out of business.

| Paul David Fox Lehman Brothers. |
| Consulant E-mail: |
| #### Sold! ########### Home: |
| ###################### Tel: +44 171 601 0011 x6025 |


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.