The Trunk: Kernel-eem.986.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Kernel-eem.986.mcz

commits-2
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.986.mcz

==================== Summary ====================

Name: Kernel-eem.986
Author: eem
Time: 2 February 2016, 11:13:09.449248 am
UUID: 3f530429-e326-41a8-b43b-8d18d32b01fc
Ancestors: Kernel-dtl.985

Process preemption should not cause a yield.  I'd forgotten to swet this in the Spur bootstrap.  Do so in processorScheduler's startUp, and eliminate the unnecessary reinstallation of low-space and background processes if only snapshotting.

=============== Diff against Kernel-dtl.985 ===============

Item was removed:
- ----- Method: ProcessorScheduler class>>startUp (in category 'background process') -----
- startUp
- "Install a background process of the lowest possible priority that is always runnable."
- "Details: The virtual machine requires that there is aways some runnable process that can be scheduled; this background process ensures that this is the case."
-
- Smalltalk installLowSpaceWatcher.
- BackgroundProcess == nil ifFalse: [BackgroundProcess terminate].
- BackgroundProcess := [self idleProcess] newProcess.
- BackgroundProcess priority: SystemRockBottomPriority.
- BackgroundProcess resume.
- !

Item was added:
+ ----- Method: ProcessorScheduler class>>startUp: (in category 'background process') -----
+ startUp: resuming
+ "Install a background process of the lowest possible priority that is always runnable."
+ "Details: The virtual machine requires that there is aways some runnable process that
+ can be scheduled; this background process ensures that this is the case."
+
+ Smalltalk processPreemptionYields ifTrue:
+ [Smalltalk processPreemptionYields: false].
+ resuming ifTrue:
+ [Smalltalk installLowSpaceWatcher.
+ BackgroundProcess ifNotNil:
+ [BackgroundProcess terminate].
+ (BackgroundProcess := [self idleProcess] newProcess)
+ priority: SystemRockBottomPriority;
+ resume]!