Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!uwm.edu!rpi!zaphod.mps.ohio-state.edu!samsung!uunet!mcsun!ukc!acorn!osmith From: osmith@acorn.co.uk (Owen Smith) Newsgroups: comp.os.aos Subject: Re: DG C compiler Message-ID: <4637@acorn.co.uk> Date: 10 Jan 91 21:11:21 GMT References: Sender: osmith@acorn.co.uk Distribution: comp Organization: Acorn Computers Ltd, Cambridge, England Lines: 16 I put in an SPR a year or two ago against the 4.01 compiler. I was writing a library which replaced the standard versions of malloc() etc. and free() with new versions which stuck an allocation backtrace on the end of every heap block. This was used to help track down heap rot. The problem was that when I used getfp() as a $builtin function, the compiler generated an infinite loop. The process would crash when the loop ran off the end of the heap into the first invalid page. The workaround was to turn the optimiser off, or to use the function call version of getfp(). The SPR also contained lots of comments about code generation inefficiencies, and shortly after filing the SPR I followed it up with some more comments about code generation. For instance, why don't you use the WCMT instruction to do strcpy() as a $builtin function? My SPR and comments may well have gone through Philip Gladstone - I was working for the same team and Philip was used as a contact point for this sort of thing. To my knowledge, nothing ever came of my SPR.Nuke 'em 'til they glow, then shoot 'em in the dark!