[Vm-dev] VM Maker: VMMaker-dtl.429.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Jul 29 03:25:37 UTC 2021
David T. Lewis uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker-dtl.429.mcz
==================== Summary ====================
Name: VMMaker-dtl.429
Author: dtl
Time: 28 July 2021, 11:24:43.854 pm
UUID: 054f5e70-1394-4dcf-bd8c-bbd2f9812442
Ancestors: VMMaker-dtl.428
VMMaker 4.19.12
Float32Array is the new name for the original Squeak class FloatArray. If a SmartSyntaxInterpreterPlugin (e.g. VectorEnginePlugin) refers to #Float32Array in a parameter declaration but class Float32Array is not present in the image, then the intended class is FloatArray so substitute the FloatArray in code generation.
=============== Diff against VMMaker-dtl.428 ===============
Item was added:
+ ----- Method: SmartSyntaxPluginTMethod>>classForSymbol:ifAbsent: (in category 'accessing') -----
+ classForSymbol: key ifAbsent: aBlock
+ "Float32Array is the new name for the original class FloatArray. If this image
+ does not have Float32Array, then FloatArray is the appropriate equivalent."
+
+ ^Smalltalk at: key ifAbsent: [
+ key = #Float32Array
+ ifTrue: [Smalltalk at: #FloatArray ifAbsent: aBlock]
+ ifFalse: [aBlock value]
+ ]!
Item was changed:
----- Method: SmartSyntaxPluginTMethod>>primitive:parameters:receiver: (in category 'specifying primitives') -----
primitive: aString parameters: anArray receiver: aClassSymbol
self selectorOverride: aString asSymbol.
anArray size == args size ifFalse:
[^self error: self selectorOverride, ': incorrect number of parameter specifications'].
parmSpecs := anArray collect:
+ [:each | self classForSymbol: each ifAbsent:
- [:each | Smalltalk at: each ifAbsent:
[^self error: self selectorOverride, ': parameter spec must be a Behavior']].
parmSpecs do: [:each | each isBehavior ifFalse:
[^self error: self selectorOverride, ': parameter spec must be a Behavior']].
rcvrSpec := Smalltalk at: aClassSymbol asSymbol ifAbsent:
[^self error: self selectorOverride, ': receiver spec must be a Behavior'].
rcvrSpec isBehavior ifFalse:
[^self error: self selectorOverride, ': receiver spec must be a Behavior'].
^true!
Item was changed:
----- Method: VMMaker class>>versionString (in category 'version testing') -----
versionString
"VMMaker versionString"
+ ^'4.19.12'!
- ^'4.19.11'!
More information about the Vm-dev
mailing list