[Vm-dev] VM Maker: VMMaker.oscog-eem.2899.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Nov 26 03:36:48 UTC 2020


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2899.mcz

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

Name: VMMaker.oscog-eem.2899
Author: eem
Time: 25 November 2020, 7:36:40.903792 pm
UUID: 977272e3-1e46-496a-ad49-a29453fce189
Ancestors: VMMaker.oscog-eem.2898

MTVM: Minor cleanup.  In the simulator the REPL is able to compute 3+4, 3*4, 3<<4, 3 raisedTo: 4, etc, without error.

=============== Diff against VMMaker.oscog-eem.2898 ===============

Item was changed:
  ----- Method: CogThreadManager>>setVMOwner: (in category 'public api') -----
+ setVMOwner: indexOrZero
+ 	"An ugly accessor used in only three cases:
+ 	 1.	by ownVMFromUnidentifiedThread when the VM is first locked to the thread id
+ 		of the unidentified thread, and then, once identified, to the thread's index.
+ 	 2.	by wakeVMThreadFor: used by the two-level scheduler to switch threads when
+ 		a Smalltalk process switch occurs to a process affined to another thread.
+ 	 3. to release the VM (set the owner to zero)"
+ 	<inline: #always>
+ 	vmOwner := indexOrZero.
- setVMOwner: index
- 	<inline: false>
- 	vmOwner := index.
  	self sqLowLevelMFence!

Item was changed:
  ----- Method: CogThreadManager>>startThreadSubsystem (in category 'public api') -----
  startThreadSubsystem
  	"Initialize the threading subsystem, aborting if there is an error."
  	| vmThread |
  	<inline: false>
  	self assert: threads = nil.
  	vmOSThread := self ioCurrentOSThread.
  	numThreadsIncrement := (self ioNumProcessors max: 2) min: 16.
  	(self growThreadInfosToAtLeast: numThreadsIncrement * 2) ifFalse:
  		[self error: 'no memory to start thread system'].
+ 	vmThread := threads at: (vmOwner := 1).
- 	vmThread := threads at: 1.
  	vmThread state: CTMInitializing.
  	self registerVMThread: vmThread.
+ 	vmThread state: CTMAssignableOrInVM!
- 	vmThread state: CTMAssignableOrInVM.
- 	self setVMOwner: 1!



More information about the Vm-dev mailing list