Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 1bb96795fca099baedd8f45e59c847786aae91d6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1bb96795fca099baedd... Author: Eliot Miranda eliot.miranda@gmail.com Date: 2022-02-15 (Tue, 15 Feb 2022)
Changed paths: M platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/unix/plugins/FileDialogPlugin/sqUnixFileDialog.c M platforms/unix/vm/aio.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c A src/plugins/SqueakFFIPrims/ARM64AppleFFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/spur32.cog.lowcode/cointerp.c M src/spur32.cog.lowcode/cointerp.h M src/spur32.cog.lowcode/gcc3x-cointerp.c M src/spur32.cog/cointerp.c M src/spur32.cog/cointerp.h M src/spur32.cog/gcc3x-cointerp.c M src/spur32.sista/cointerp.c M src/spur32.sista/cointerp.h M src/spur32.sista/gcc3x-cointerp.c M src/spur32.stack/validImage.c M src/spur64.cog.lowcode/cointerp.c M src/spur64.cog.lowcode/cointerp.h M src/spur64.cog.lowcode/gcc3x-cointerp.c M src/spur64.cog/cointerp.c M src/spur64.cog/cointerp.h M src/spur64.cog/cointerpmt.c M src/spur64.cog/cointerpmt.h M src/spur64.cog/gcc3x-cointerp.c M src/spur64.cog/gcc3x-cointerpmt.c M src/spur64.sista/cointerp.c M src/spur64.sista/cointerp.h M src/spur64.sista/gcc3x-cointerp.c M src/spur64.stack/validImage.c M src/v3.cog/cointerp.c M src/v3.cog/cointerp.h M src/v3.cog/gcc3x-cointerp.c
Log Message: ----------- CogVM source as per VMMaker.oscog-eem.3156
CoInterpreter: Fix issues with the PrimCallXXX flags. PrimCallIsInternalPrim wasn't initialized!! PrimCallIsExternalCall isn't used. PrimCallIsInternalPrim should be set on all numbered primitives except the FFI & named prim primitives.
ThreadedFFI ARM64 plugin: Apple diverges significantly from the standard. In particular, stacked arguments are packed like a struct (char takes one byte, short is aligned on a doublebyte boundary and takes two bytes, etc). Hence introduce ThreadedARM64AppleFFIPlugin as a subclass of ThreadedARM64FFIPlugin.
Have ThreadedARM64FFIPlugin inherit from ThreadedFFIPlugin; it inherits nothing from ThreadedARM32FFIPlugin. Rename the ThreadedFFIX64SixteenByteReturnXX classes since they are more generally useful. In particular use ThreadedFFI64Bit16ByteReturnII to implement struct (and integer) return on ARM64. Hence get rid of getX1register (& returnX1value from arm64abicc.c).
Fix two typos in primitiveSignedInt32At et al.
Unix aio.c: rename epollEventsByFileDescriptorSize to epollEventsDescriptorCount and improve commenting of #if#then#else chains.
unix/plugins/FileDialogPlugin/sqUnixFileDialog.c apply the fix for include files from Bruce; thanks!!
vm-dev@lists.squeakfoundation.org