experimental unreachability analysys
Per Bothner
per@bothner.com
Mon Oct 8 00:56:00 GMT 2012
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/
More information about the Kawa
mailing list