Path: utzoo!attcan!uunet!snorkelwacker!spdcc!esegue!compilers-sender From: johnson@cs.uiuc.edu (Ralph Johnson) Newsgroups: comp.compilers Subject: Re: Debugging optimized code Keywords: code, debug Message-ID: <1990Jul30.180211.26558@esegue.segue.boston.ma.us> Date: 30 Jul 90 18:02:11 GMT Sender: compilers-sender@esegue.segue.boston.ma.us Reply-To: Ralph Johnson Organization: Compilers Central Lines: 29 Approved: compilers@esegue.segue.boston.ma.us One of the good reasons for posting to the net is that you can get information that hasn't been published. This is especially important in the area of programming languages, where there are not a lot of places to publish. Larry Zurawski did his PhD thesis on debugging optimized code. We have a (long) paper on the subject that I am polishing. I would be happy to send it to people like Lyle Cool, especially if they criticize it. The basic idea is to achieve the best optimizations possible while still ensuring that the debugger behaves as expected. This is done by noting every point in the program where the debugger could be invoked and ensuring that it can recover the unoptimized state. The compiler stores recovery information for each of these points in the program, and it occasionally omits an optimization. However, it doesn't omit many; many programs are not slowed down at all by omitting optimizations, while the worse case we found was 15% slower. I can send paper if you send me your paper mail address, or LaTeX if that is suitable. Ralph Johnson -- University of Illinois at Urbana-Champaign [I am certainly not opposed to people asking for info on the net, but do think it appropriate that there be some evidence that they have done some homework before they send out a message. That's why you haven't seen any messages here saying "Are there any books on how to write a compiler?" while we've had quite a lot of discussion on the pros and cons of various books that people have looked at. -John] -- Send compilers articles to compilers@esegue.segue.boston.ma.us {spdcc | ima | lotus| world}!esegue. Meta-mail to compilers-request@esegue.