Fix Trac #1969: perfomance bug in the specialiser
authorsimonpj@microsoft.com <unknown>
Mon, 28 Apr 2008 15:57:11 +0000 (15:57 +0000)
committersimonpj@microsoft.com <unknown>
Mon, 28 Apr 2008 15:57:11 +0000 (15:57 +0000)
The specialiser was using a rather brain-dead representation for
UsageDetails, with much converting from lists to finite maps and
back.  This patch does some significant refactoring.  It doesn't
change the representation altogether, but it does eliminate the
to-and-fro nonsense.

It validates OK, but it's always possible that I have inadvertently
lost specialisation somewhere, so keep an eye out for any run-time
performance regressions.

Oh, and Specialise is now warning-free too.


No differences found