[Mono-list] Announce: A .NET assembly -> native code generation tool (ala ngen for MONO)

Paolo Molaro lupus@ximian.com
Thu, 1 Aug 2002 13:34:59 +0200


On 08/01/02 Fergus Henderson wrote:
> On 29-Jul-2002, Paolo Molaro <lupus@ximian.com> wrote:
> > My main concern with using gcc is that we might not be able to constrain
> > the gcc optimizer to obey the CLR rules (Zoltan notes the problem with
> > division by 0, for example).
> 
> I think this is something which could be addressed by adding the
> appropriate option or options to GCC, and making any problematic
> optimizations conditional on these option(s).  Note that GCC already
> needs to obey the Java/JVM rules -- this is required for gcj.
> I don't think the CLR rules are any harder, are they?

Well, yes, they are. Java doesn't have to deal with any of the
.ovf opcode variants, for example. I'm not sure it would be
enough to add some options to gcc, mostly because they apply to all the
compilation run, not to specific cases, and that would limit the
optimizations that gcc can do.

> In pratice this is not likely to be a significant issue anyway,
> since I would expect few .NET programs to really rely on strict
> adherence to these rules.  If problems do occur, they can be
> addressed as they come up.

The problem is that they _will_ come up and bite us in unexpected 
and hard to track ways. An extensive test suite is the only way to
address this issue.

lupus

-- 
-----------------------------------------------------------------
lupus@debian.org                                     debian/rules
lupus@ximian.com                             Monkeys do it better