Today I found a curious bug in the VMprPointerReplaceFromToWithObject primitive:
In EsWeakArray, it only fills the slots up to the next-to-last one.
(EsWeakArray new: 5) replaceFrom: 1 to: 5 withObject: 1
results in
(1 1 1 1 nil)
Apparently, in computing the limit it does not skip the named instance variable. I could verify this assumption by defining a subclass of Array with two named instance variables, and for this subclass, the last two slots will be left nil.
I see this behavior in Windows and Linux 64 bit 9.1 VMs with fixpack 9.1.1.
Is this a known bug, and will it been fixed in 9.2?
Cheers,
Hans-Martin