[Vm-dev] VM Maker: VMMaker.oscog-eem.3264.mcz
commits at source.squeak.org
commits at source.squeak.org
Sun Nov 6 05:22:33 UTC 2022
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3264.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.3264
Author: eem
Time: 5 November 2022, 10:22:13.888373 pm
UUID: 65e7c35c-efad-43f0-9eff-16acf268dfa0
Ancestors: VMMaker.oscog-eem.3263
Fix regression in emission of primitive metadata in plugins that I think was introduced in 3222 or there-asbnouts. The bug is when vmClass si set then a selector must begin with prim to have metadata generated/ I *think* I assigned vmClass to compute accessor depth correctly for plugin primitives around this time, but I'm not sure.
The fix is to have VMPluginCodeGenerator override methodNeedsMetadata: and not insist that the selector begin with 'prim'.
This affects the following plugins:
ClipboardExtendedPlugin (primitives begin with io)
B3DPlugin/Squeak3D (primitives begin with b3d)
But in looking at this I notice that VectorEnginePlugin has no metadata either. So a few plugins need regenerating.
=============== Diff against VMMaker.oscog-eem.3263 ===============
Item was added:
+ ----- Method: VMPluginCodeGenerator>>methodNeedsMetadata: (in category 'spur primitive compilation') -----
+ methodNeedsMetadata: aTMethod
+ "Answer if aTMethod really needs primitive metadata. This is a hack to filter out some functions that definitely don't need metadata."
+ | selector |
+ selector := aTMethod smalltalkSelector.
+ (#(initialiseModule shutdownModule moduleUnloaded:) includes: selector) ifTrue:
+ [^false].
+ (InterpreterPlugin includesSelector: selector) ifTrue:
+ [^false].
+ ^true!
More information about the Vm-dev
mailing list