Re: Implementation and Optimization of exceptions ( static analysis possible? )

mfinney@inmind.com
Mon, 7 Aug 1995 23:26:42 GMT

          From comp.compilers

Related articles
Implementation and Optimization of exceptions ( static analysis possi sdm7g@elvis.med.virginia.edu (Steven D. Majewski) (1995-07-21)
Re: Implementation and Optimization of exceptions ( static analysis p bobduff@world.std.com (1995-07-26)
Re: Implementation and Optimization of exceptions ( static analysis p macrakis@osf.org (1995-07-28)
Re: Implementation and Optimization of exceptions ( static analysis p chase@centerline.com (1995-07-28)
Re: Implementation and Optimization of exceptions ( static analysis p pardo@cs.washington.edu (1995-08-03)
Re: Implementation and Optimization of exceptions ( static analysis p mfinney@inmind.com (1995-08-07)
Re: Implementation and Optimization of exceptions ( static analysis p bill@amber.ssd.hcsc.com (1995-08-13)
| List of all articles for this month |

Newsgroups: comp.compilers
From: mfinney@inmind.com
Keywords: errors, GC
Organization: In Mind, Inc.
References: 95-07-142 95-08-051
Date: Mon, 7 Aug 1995 23:26:42 GMT

I've been considering implementing a scheme in my next compiler
(probably a couple of years off) in which the information needed for
exception handling and for garbage collection is combined. Namely,
you can regard each block of code that defines data element(s) or
which starts an exception as an object with a single implicit method.
That approach can be extended to the definition of functions with the
paramters and local objects as the data elements. It can be very
desirable that a garbage collector be able to scan the stack of each
thread in a rigourous manner. Much of the same information is needed
by the exception handler in unwinding the stack. It seems that this
information could be profitably combined and therefore the overhead
in exception handling could be combined with the overhead in garbage
collecting.


This approach, perhaps with a few restrictions (such as prohibiting
the conversion of a pointer to an intergral type) might make
non-conservative garbage collectors reasonable for languages such as
C++.


Michael Lee Finney


--


Post a followup to this message

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