On Wed, Apr 4, 2012 at 5:32 PM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
Hi guys. I noticed that there is a limit in the number of objects you can become. In my case, I am becoming 2312157 objects. So..I don't expect that the become works. I imagine that it was not designed for so many objects in mind ;)
However, what I would really understand is where is the limitation and the reason. And of course, if someone already knows which is the real number limit. Otherwise, I will do a kind of binary search and discover it.

If you want to reproduce it:

| dict |
dict := Dictionary new.
2312157 timesRepeat: [ dict at: Object new put: Object new ].
3 timesRepeat: [Smalltalk garbageCollect].
dict keys elementsForwardIdentityTo: dict values.

throws a #primitiveFailed.� ��

Of course the following works correctly:

| dict tmp |
dict := Dictionary new.
2312157 timesRepeat: [dict at: Object new put: Object new].
3 timesRepeat: [Smalltalk garbageCollect].
dict associations groupsOf: 50000 atATimeDo: [:each |
��� tmp := Dictionary withAll: each.
��� tmp keys elementsForwardIdentityTo: tmp values
��� ]


So... indeed, there seems to be a limit with the amount of objects.


Thanks,

--
Mariano
http://marianopeck.wordpress.com




--
Mariano
http://marianopeck.wordpress.com