Related articles |
---|
exceptions & dataflow djames@cs.utah.edu (David James) (1998-02-03) |
Re: exceptions & dataflow acha@play.cs.ucsb.edu (Anurag Acharya) (1998-02-07) |
Re: exceptions & dataflow sergey@solyanik.com (Sergey Solyanik) (1998-02-07) |
Re: exceptions & dataflow jason@cygnus.com (Jason Merrill) (1998-02-08) |
Re: exceptions & dataflow dlmoore@ix.netcom.com (David L Moore) (1998-02-08) |
Re: exceptions & dataflow dlmoore@ix.netcom.com (David L Moore) (1998-02-09) |
Re: exceptions & dataflow sergey@solyanik.com (Sergey Solyanik) (1998-02-10) |
Re: exceptions & dataflow jason@cygnus.com (Jason Merrill) (1998-02-10) |
Re: exceptions & dataflow mcdirmid@beaver.cs.washington.edu (1998-02-10) |
Re: exceptions & dataflow jeremy@softway.com.au (1998-02-10) |
Re: exceptions & dataflow jason@cygnus.com (Jason Merrill) (1998-02-12) |
Re: exceptions & dataflow fjh@hydra.cs.mu.oz.au (Fergus Henderson) (1998-02-12) |
Re: exceptions & dataflow chase@world.std.com (David Chase) (1998-02-12) |
Re: exceptions & dataflow amitb@sasi.com (Amit Bhatnagar) (1998-02-12) |
[3 later articles] |
From: | Jason Merrill <jason@cygnus.com> |
Newsgroups: | comp.compilers |
Date: | 10 Feb 1998 01:43:26 -0500 |
Organization: | Cygnus Solutions, Sunnyvale, CA |
References: | 98-02-025 98-02-027 98-02-034 98-02-040 |
Keywords: | optimize |
Jason Merrill wrote:
>> I'm not sure what you're saying. I'm not very familiar with Java, but
>> finally blocks seem analogous to C++ implicit destructors in terms of
>> when they get run;
>>>>> David L Moore <dlmoore@ix.netcom.com> writes:
> In Java, the finalizer is run when the storage for the object
> gets garbage collected, which can be much later.
I was actually refferring to the try...finally construct in Java, not to
finalizers.
> you could use this implementation in C++ too. Whenever you create an
> object on the stack you could put a pointer to it and its destructor
> somewhere in a known spot so that when you unwind the stack you can
> call the destructor.
Yep; the setjmp/longjmp-based EH implementation in gcc uses a stack of
cleanups. I am given to understand that Ada requires something similar...?
Our PC range table implementation expands out the cleanups to avoid any
time overhead in the unexceptional case.
Jason
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.