[Mono-devel-list] RFC: Unifying _I4/_I/_Ref ops in mini

Ben Maurer bmaurer at users.sourceforge.net
Wed Apr 7 00:41:44 EDT 2004


I would like some comments as I am working on the attached patch.

What this patch does is to combine sets of operations such as
CEE_LDIND_I4, CEE_LDIND_I, and CEE_LDIND_REF into one instruction, as on
a 32 bit system, they basically are. The benefit of this is that we have
to write fewer burg rules in order to apply optimizations. Also, it
means we cant `forget' a rule for one of the cases -- which would result
in a missed optimization.

The one thing I am not sure about is exactly what I should transform the
instruction too. There are two options:
      * Transform it into a platform agnostic opcode, such as
      * Transform it into the native size opcode, CEE_LDIND_I4 for 32

The advantage of the first choice is that it would provide an easier
platform for optimizations on 64 bit systems. However, the disadvantage
is that it is another opcode we have to code special cases for.

I would love to hear suggestions.

I am not asking for a review for this patch for committing to CVS, I do
not think it is ready. I would just like some comments.

-- Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: unify-ops.patch
Type: text/x-patch
Size: 9663 bytes
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20040407/94429124/attachment.bin 

More information about the Mono-devel-list mailing list