Levente Uzonyi uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-ul.507.mcz==================== Summary ====================
Name: Kernel-ul.507
Author: ul
Time: 17 October 2010, 3:44:06.845 am
UUID: f2a1ac34-c8a3-ae48-b38c-271043354faa
Ancestors: Kernel-nice.506
- use blocks instead of symbols
- minor Monitor tweaks
=============== Diff against Kernel-nice.506 ===============
Item was changed:
----- Method: MethodDictionary class>>compactAllInstances (in category 'initialization') -----
compactAllInstances
| instances newInstances |
instances := self allInstances asArray.
+ newInstances := self allInstances collect: [ :each |
+ each compactWithoutBecome ].
- newInstances := self allInstances collect: #compactWithoutBecome.
instances elementsExchangeIdentityWith: newInstances!
Item was changed:
----- Method: MethodDictionary class>>rehashAllInstances (in category 'initialization') -----
rehashAllInstances
| instances newInstances |
instances := self allInstances asArray.
+ newInstances := self allInstances collect: [ :each |
+ each rehashWithoutBecome ].
- newInstances := self allInstances collect: #rehashWithoutBecome.
instances elementsExchangeIdentityWith: newInstances!
Item was changed:
----- Method: Monitor>>queueDict (in category 'private') -----
queueDict
+
+ ^queueDict ifNil: [ queueDict := IdentityDictionary new ]!
- queueDict ifNil: [queueDict := IdentityDictionary new].
- ^ queueDict.!
Item was changed:
----- Method: Monitor>>signalAllInQueue: (in category 'private') -----
signalAllInQueue: anOrderedCollection
+
queuesMutex critical: [
+ anOrderedCollection removeAllSuchThat: [ :each |
+ each signal.
+ true ] ]!
- anOrderedCollection do: [:lock | lock signal].
- anOrderedCollection removeAllSuchThat: [:each | true].
- ].!
Item was changed:
----- Method: Monitor>>signalQueue: (in category 'private') -----
signalQueue: anOrderedCollection
+
queuesMutex critical: [
+ anOrderedCollection isEmpty ifFalse: [
+ anOrderedCollection removeFirst signal ] ]!
- anOrderedCollection isEmpty ifTrue: [^ self].
- anOrderedCollection removeFirst signal.
- ].!