[Mono-dev] Big Arrays, Many Changes --- Request for Advice

Marek Safar marek.safar at seznam.cz
Tue Sep 4 06:51:02 EDT 2007


Hi Luis,
> I was porting a small test application that was written in C# that  
> allocated
> an array with a large number of elements (> 2^32).  While it   
> compiled and ran
> in Visual Studio's C# under WindowsXP-64bit without a hitch, when I  
> compiled
> and ran it under mcs/mono (1.2.4) on the same hardware, but booted up  
> under
> Fedora7-x86_64, I ran into a few problems.
>
> Digging into it a bit, I discovered that:
>
> 1)  MCS assumed that the arguments to NEWARR were always U4 or I4,  
> which does not seem
>      to be the case as far as ECMA-335v4.
> 2)  MONO assumes that array lengths and bounds can always be  
> represented as guint32's,
>      [ like mono_array_new_specific (MonoVTable *vtable, guint32 n) ]
>
>
> Would folks object to a series of patches to:
>
> A)  Fix mcs/expression.cs to emit OpCodes.Conv_Ovf_U/I instead of  
> OpCodes.Conv_Ovf_U4/I4
>      for array size arguments,
>   

Any mcs patches with self contained tests are welcome. However,
I think I fix this issue 2-3 weeks ago. Please use SVN version instead.

Thanks
Marek



More information about the Mono-devel-list mailing list