[squeak-dev] The Trunk: Collections-eem.881.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Mar 12 02:01:27 UTC 2020
Eliot Miranda uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-eem.881.mcz
==================== Summary ====================
Name: Collections-eem.881
Author: eem
Time: 11 March 2020, 7:01:23.310819 pm
UUID: e9cf9901-53d5-4b5c-ab37-88beb605d007
Ancestors: Collections-eem.882
Include the Array become primitives in the ModificationForbidden framework.
=============== Diff against Collections-eem.882 ===============
Item was changed:
----- Method: Symbol class>>intern: (in category 'instance creation') -----
intern: aStringOrSymbol
| originalNewSymbols |
originalNewSymbols := NewSymbols.
^(self lookup: aStringOrSymbol) ifNil:[
+ | aClass aSymbol newNewSymbols |
- | aSymbol newNewSymbols |
aStringOrSymbol isSymbol ifTrue:[
aSymbol := aStringOrSymbol.
] ifFalse:[
+ aClass := aStringOrSymbol isOctetString ifTrue:[ByteSymbol] ifFalse:[WideSymbol].
+ aSymbol := aClass new: aStringOrSymbol size.
- aSymbol := (aStringOrSymbol isOctetString ifTrue:[ByteSymbol] ifFalse:[WideSymbol])
- new: aStringOrSymbol size.
aSymbol string: aStringOrSymbol.
- aSymbol beReadOnlyObject.
].
newNewSymbols := originalNewSymbols copyWith: aSymbol.
originalNewSymbols == NewSymbols
ifTrue: [
NewSymbols := newNewSymbols.
newNewSymbols size > 1000 ifTrue: [ self condenseNewSymbols ].
aSymbol ]
ifFalse: [
"Some other process has modified the symbols. Try again."
self intern: aStringOrSymbol ] ]!
Item was changed:
+ (PackageInfo named: 'Collections') postscript: 'Character initializeClassificationTable.
+ HashedCollection rehashAll.'!
- (PackageInfo named: 'Collections') postscript: '"below, add code to be run after the loading of this package"
-
- "Make all Symbols read-only at the VM level"
- Symbol allSubInstancesDo: [:s| s beReadOnlyObject]'!
More information about the Squeak-dev
mailing list
|