[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 1bb967: CogVM source as per VMMaker.oscog-eem.3156

Eliot Miranda noreply at github.com
Wed Feb 16 02:55:49 UTC 2022


  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 1bb96795fca099baedd8f45e59c847786aae91d6
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1bb96795fca099baedd8f45e59c847786aae91d6
  Author: Eliot Miranda <eliot.miranda at 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!!




More information about the Vm-dev mailing list