Marcel Taeumel uploaded a new version of Collections to project The Trunk: http://source.squeak.org/trunk/Collections-mt.977.mcz
==================== Summary ====================
Name: Collections-mt.977 Author: mt Time: 26 January 2022, 8:29:08.417127 am UUID: 98f4fedb-1f96-e84c-b3a1-c689eb9244cd Ancestors: Collections-ct.976
Updates commentary for primitive 72. Complements Kernel-mt.1443. Thanks to Florin and Vanessa for the pointer.
=============== Diff against Collections-ct.976 ===============
Item was changed: ----- Method: Array>>elementsForwardIdentityAndHashTo: (in category 'converting') ----- elementsForwardIdentityAndHashTo: otherArray + "This primitive performs a bulk mutation, causing all pointers to the elements of the receiver to be replaced by pointers to the corresponding elements of otherArray. + NOTE THAT the #identityHash of the objects in otherArray are changed, so that hashed structures that contain such objects MUST BE rehashed while structures that contain objects from the receiver are still properly indexed. See implementors of #rehash." - "This primitive performs a bulk mutation, causing all pointers to the elements of the - receiver to be replaced by pointers to the corresponding elements of otherArray. - The identityHashes remain with the pointers rather than with the objects so that - the objects in this array should still be properly indexed in any existing hashed - structures after the mutation." <primitive: 72 error: ec> ec == #'no modification' ifTrue: [^self modificationForbiddenFor: otherArray becomeSelector: #elementsForwardIdentityAndHashTo:]. ec == #'bad receiver' ifTrue: [^self error: 'receiver must be of class Array']. ec == #'bad argument' ifTrue: [^self error: (otherArray class == Array ifFalse: ['arg must be of class Array'] ifTrue: ['receiver and argument must have the same size'])]. ec == #'inappropriate operation' ifTrue: [^self error: 'can''t become immediates such as SmallIntegers or Characters']. ec == #'object is pinned' ifTrue: [^self error: 'can''t become pinned objects']. ec == #'insufficient object memory' ifTrue: [self error: 'The virtual machine is out-of-date. Please upgrade.']. self primitiveFailed!
packages@lists.squeakfoundation.org