[Mono-list] Problems with arrays over 4gb on 64 bit Itanium
kumpera at gmail.com
Wed Dec 10 09:28:53 EST 2008
That's exactly your problem, arrays in mono can't be more than 2^31 elements
or use more than 4GB of memory.
What you need is big array support but it's not complete and the original
contribution was against amd64.
If you really need this, finishing it is not a big task and you can just
hack your way into the runtime.
On Wed, Dec 10, 2008 at 12:10 PM, Christian Prokopp <prokopp at gmail.com>wrote:
> Dear John,
> A very good thought. I tried and compiled my version with
> --enable-big-arrays and had no success. In fact my array index size seems to
> be limited to (2^31)-1. If I try to create an array of bool or byte of 2^32
> or bigger I get a System.OverflowException. If I try and create an array of
> that size with double I get an OutOfMemoryException instead of the overflow.
> It appears that big arrays are still not fully working (
> http://go-mono.com/forums/#nabble-td19839697). Anyone has an idea when
> they will work and if that solves my original out of memory problem?
> 2008/12/10 Dallman, John <john.dallman at siemens.com>
>> > Thanks for the idea Alan but the big array switch is for array index
>> > size over 32bit. In my case the index is smaller (factor 8 because I
>> > use double) but the memory the array data covers exceeds 4gb and that
>> > raises the problem.
>> Try it anyway. On a byte-addressed machine like Itanium, using an
>> integer as an index for an array of doubles will result in the
>> integer being multiplied by eight before it's added to the base
>> address of the array. So the addressing will actually be in terms
>> of bytes. And the big array switch could well be documented in
>> terms of the memory being addressed, which is what really matters.
>> John Dallman
>> Parasolid Porting Engineer
> Mono-list maillist - Mono-list at lists.ximian.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Mono-list