[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