Levente Uzonyi uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-ul.1011.mcz
==================== Summary ====================
Name: Kernel-ul.1011
Author: ul
Time: 2 April 2016, 9:22:40.391347 pm
UUID: 924b2c29-5e11-4abb-aeb5-355380a4e56a
Ancestors: Kernel-ul.1010
Normalize the created LargePositiveInteger in Random >> #nextLargeInt:.
=============== Diff against Kernel-ul.1010 ===============
Item was changed:
----- Method: Random>>nextLargeInt: (in category 'accessing') -----
nextLargeInt: anInteger
"Answer a random integer value from the interval [1, anInteger]. This method works for arbitrarily large integers."
| byteCount bigRandom result firstDigit |
byteCount := anInteger digitLength + 4. "Extend the space with at least 32 bits for a fairer distribution."
bigRandom := LargePositiveInteger new: byteCount.
self nextBytes: byteCount into: bigRandom startingAt: 1.
+ bigRandom := bigRandom normalize. "Make sure that there are no leading zero bytes."
result := anInteger * bigRandom bitShift: -8 * byteCount.
"Avoid using LargeInteger arithmetic for +1 in most cases."
result isLarge ifFalse: [ ^result + 1 ].
(firstDigit := result digitAt: 1) = 255 ifTrue: [ ^result + 1 ].
result digitAt: 1 put: firstDigit + 1.
^result
!
Levente Uzonyi uploaded a new version of Network to project The Trunk:
http://source.squeak.org/trunk/Network-ul.176.mcz
==================== Summary ====================
Name: Network-ul.176
Author: ul
Time: 2 April 2016, 9:06:31.957661 pm
UUID: 1b580a49-2663-4d5d-a659-606ba1c698de
Ancestors: Network-ul.175
Use primitiveMakeUUID when it's available in UUID >> #makeUUID. This should keep things snappier when UUIDPlugin works, and it should decrease the possibility of a UUID collision due to our poor seed generation in Random.
=============== Diff against Network-ul.175 ===============
Item was changed:
----- Method: UUID>>makeUUID (in category 'as yet unclassified') -----
makeUUID
+
+ self primMakeUUID ifNil: [
+ UUIDGenerator default generateBytes: self forVersion: 4 ]!
- UUIDGenerator default generateBytes: self forVersion: 4.!
Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-mt.1009.mcz
==================== Summary ====================
Name: Kernel-mt.1009
Author: mt
Time: 2 April 2016, 12:23:20.21041 pm
UUID: bd1b45d5-cb4d-41b0-890b-c8f70de70b1c
Ancestors: Kernel-ul.1008
Recent CogVMs do not yield preempted processes. Fixes the behavior where "[ [] repeat] fork" could not be interrupted anymore via CMD+. and hence locked the image.
=============== Diff against Kernel-ul.1008 ===============
Item was changed:
----- Method: ProcessorScheduler>>preemptedProcess (in category 'accessing') -----
preemptedProcess
"Return the process that the currently active process just preempted."
+
+ self activeProcess priority to: 1 by: -1 do: [:priority |
+ (quiescentProcessLists at: priority) ifNotEmpty: [:list |
+ ^ Smalltalk processPreemptionYields
+ ifTrue: [list last]
+ ifFalse: [list first]]].
+ ^ nil
+
- | list |
- activeProcess priority to: 1 by: -1 do:[:priority|
- list := quiescentProcessLists at: priority.
- list isEmpty ifFalse:[^list last].
- ].
- ^nil
-
"Processor preemptedProcess"!
Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-mt.1009.mcz
==================== Summary ====================
Name: Kernel-mt.1009
Author: mt
Time: 2 April 2016, 12:23:20.21041 pm
UUID: bd1b45d5-cb4d-41b0-890b-c8f70de70b1c
Ancestors: Kernel-ul.1008
Recent CogVMs do not yield preempted processes. Fixes the behavior where "[ [] repeat] fork" could not be interrupted anymore via CMD+. and hence locked the image.
=============== Diff against Kernel-ul.1008 ===============
Item was changed:
----- Method: ProcessorScheduler>>preemptedProcess (in category 'accessing') -----
preemptedProcess
"Return the process that the currently active process just preempted."
+
+ self activeProcess priority to: 1 by: -1 do: [:priority |
+ (quiescentProcessLists at: priority) ifNotEmpty: [:list |
+ ^ Smalltalk processPreemptionYields
+ ifTrue: [list last]
+ ifFalse: [list first]]].
+ ^ nil
+
- | list |
- activeProcess priority to: 1 by: -1 do:[:priority|
- list := quiescentProcessLists at: priority.
- list isEmpty ifFalse:[^list last].
- ].
- ^nil
-
"Processor preemptedProcess"!