This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Re: experimental unreachability analysys
- From: Per Bothner <per at bothner dot com>
- To: "kawa at sourceware dot org" <kawa at sourceware dot org>
- Date: Sun, 07 Oct 2012 17:55:58 -0700
- Subject: Re: experimental unreachability analysys
- References: <506B3F5E.9070209@bothner.com>
I checked in an updated version of this patch. This allowed me to
close some Savannah bugs as now fixed.
On 10/02/2012 12:24 PM, Per Bothner wrote:
It does not handle separate compilation, in that any previously-compiled
function is assume to terminate. (The intention is to use an annotation
to mark if a function never-returns.)
It now handles separate compilation. I created the special
Type.neverReturnsType to be a special "marker class"
gnu.bytecode.Type.NeverReturns. Thus a method that never returns
returns gnu.bytecode.Type.NeverReturns. It is easy for Kawa to
recognize this type.
It does pretty well in my limited testing. At this point my main concern
is that it slows down compilation quite a bit.
When I looked again, it looks like the slowdown is quite modest,
so I'm not going worry about it. Yes, a faster algorithm would
be nice, but current one is fast enough.
--
--Per Bothner
per@bothner.com http://per.bothner.com/