[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