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