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

commits at source.squeak.org commits at source.squeak.org
Mon Jul 26 03:18:29 UTC 2021


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

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

Name: VMMaker.oscog-eem.2997
Author: eem
Time: 25 July 2021, 8:18:20.727911 pm
UUID: 2d21044e-f2db-40ea-91da-ba273faf9093
Ancestors: VMMaker.oscog-eem.2996

Fix stack delta in primitiveUnloadModule on Cog.

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

Item was added:
+ ----- Method: CoInterpreterPrimitives>>primitiveUnloadModule (in category 'plugin primitives') -----
+ primitiveUnloadModule
+ 	"Primitive. Unload the module with the given name."
+ 	"Reloading of the module will happen *later* automatically, when a 
+ 	 function from it is called. This is ensured by invalidating current sessionID."
+ 	| moduleName |
+ 	self methodArgumentCount = 1 ifFalse:[^self primitiveFail].
+ 	moduleName := self stackTop.
+ 	(objectMemory isBytes: moduleName) ifFalse:[^self primitiveFail].
+ 	(self ioUnloadModule: (self oopForPointer: (objectMemory firstIndexableField: moduleName))
+ 		OfLength: (objectMemory byteSizeOf: moduleName)) ifFalse:[^self primitiveFail].
+ 	"N.B. flushExternalPrimitives continues.  Do *not* do anything after flushExternalPrimitives in the CoInterpreter"
+ 	self forceInterruptCheck.
+ 	self flushExternalPrimitives
+ 	"NOTREACHED"!



More information about the Vm-dev mailing list