[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 557fae: CogVm source as per VMMaker.oscog-eem.3229
Eliot Miranda
noreply at github.com
Sun Jul 31 00:26:57 UTC 2022
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 557faeee2089a2dc4cbb8ecc4a82b4fa45b2aab7
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/557faeee2089a2dc4cbb8ecc4a82b4fa45b2aab7
Author: Eliot Miranda <eliot.miranda at gmail.com>
Date: 2022-07-30 (Sat, 30 Jul 2022)
Changed paths:
M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c
M src/plugins/B2DPlugin/B2DPlugin.c
M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c
M src/plugins/ClipboardExtendedPlugin/ClipboardExtendedPlugin.c
M src/plugins/CroquetPlugin/CroquetPlugin.c
M src/plugins/FileCopyPlugin/FileCopyPlugin.c
M src/plugins/HostWindowPlugin/HostWindowPlugin.c
M src/plugins/InternetConfigPlugin/InternetConfigPlugin.c
M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c
M src/plugins/Klatt/Klatt.c
M src/plugins/MIDIPlugin/MIDIPlugin.c
M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c
M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c
M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c
M src/plugins/ScratchPlugin/ScratchPlugin.c
M src/plugins/SerialPlugin/SerialPlugin.c
M src/plugins/SocketPlugin/SocketPlugin.c
M src/plugins/SoundPlugin/SoundPlugin.c
M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c
M src/plugins/SqueakFFIPrims/ARM64AppleFFIPlugin.c
M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c
M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c
M src/plugins/SqueakFFIPrims/RiscV64FFIPlugin.c
M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c
M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c
M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
Log Message:
-----------
CogVm source as per VMMaker.oscog-eem.3229
Slang:
Improve inferTypesForImplicitlyTypedVariablesIn:, reducing the special casing
and simply deferring to each kind of parse node to determine its own type.
Hence allow typing of TSwitchStmtNode, especially when some cases return.
This allows
var := expr caseOf: { [v1] -> ['a string]. [v2] -> ['b string] }
otherwise: [^interpreterProxy primitiveFailFor: PrimErrNoMatch].
to type correctly var as char *.
Hence don't prepend assignments to TSwitchStmtNode cases which return.
Hence extract the type merging in CCodeGenerator>>#mergeTypeOf:in:with:method:
into CCodeGenerator>>#mergeType:with:.
More information about the Vm-dev
mailing list