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

commits at source.squeak.org commits at source.squeak.org
Mon Apr 28 17:20:48 UTC 2014


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

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

Name: VMMaker.oscog-eem.686
Author: eem
Time: 28 April 2014, 10:18:14.827 am
UUID: ac4e60d6-a8f2-4bf4-bb5d-e21f243310fa
Ancestors: VMMaker.oscog-eem.685

Fix the module name in ThreadedFFIPlugin.  It needs to answer
the generic name (SqueakFFIPrims), not the specific platform
name (e.g. IA32FFIPlugin) under which each plugin is generated.

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

Item was changed:
  ----- Method: ThreadedFFIPlugin class>>moduleName (in category 'translation') -----
  moduleName
  	"IMPORTANT: IF YOU CHANGE THE NAME OF THIS PLUGIN YOU MUST CHANGE
+ 		Interpreter>>primitiveCalloutToFFI *and* ThreadedFFIPlugin>>getModuleName
- 		Interpreter>>primitiveCalloutToFFI
  	TO REFLECT THE CHANGE."
  	^#('SqueakFFIPrims' 'FFIPlugin') first!

Item was changed:
  ----- Method: ThreadedFFIPlugin class>>prepareToBeAddedToCodeGenerator: (in category 'translation') -----
  prepareToBeAddedToCodeGenerator: aCodeGen
+ 	"Remove the methods of ThreadedFFIPlugin any concrete subclass overrides,
+ 	 and the methods of InterpreterPlugin that ThreadedFFIPlugin overrides."
+ 	self selectors do:
+ 		[:sel|
+ 		 (superclass includesSelector: sel) ifTrue:
+ 			[aCodeGen removeMethodForSelector: sel]]!
- 	"Remove the methods of ThreadedFFIPlugin any concrete subclass overrides."
- 	self class ~~ thisContext methodClass ifTrue:
- 		[self selectors do:
- 			[:sel|
- 			 (superclass includesSelector: sel) ifTrue:
- 				[aCodeGen removeMethodForSelector: sel]]]!

Item was added:
+ ----- Method: ThreadedFFIPlugin>>getModuleName (in category 'initialize') -----
+ getModuleName
+ 	"Note: This is hardcoded so it can be run from Squeak.
+ 	The module name is used for validating a module *after*
+ 	it is loaded to check if it does really contain the module
+ 	we're thinking it contains. This is important!!"
+ 	<returnTypeC: 'const char *'>
+ 	<export: true>
+ 	^'SqueakFFIPrims'!

Item was added:
+ ----- Method: ThreadedFFIPlugin>>msg: (in category 'debugging') -----
+ msg: s
+ 	<var: #s type: 'char *'>
+ 	self cCode: 'fprintf(stderr, "\n%s: %s", getModuleName(), s)'
+ 		inSmalltalk: [super msg: s].
+ 	^0!



More information about the Vm-dev mailing list