[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 71ffd3: CogVM source as per Name: VMMaker.oscog-eem.3144

Eliot Miranda noreply at github.com
Sun Feb 6 07:31:33 UTC 2022


  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 71ffd3fc0eb74519e2ddd8ea4de87503e925fa16
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/71ffd3fc0eb74519e2ddd8ea4de87503e925fa16
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2022-02-05 (Sat, 05 Feb 2022)

  Changed paths:
    M src/plugins/B2DPlugin/B2DPlugin.c
    M src/plugins/DESPlugin/DESPlugin.c
    M src/plugins/DSAPrims/DSAPrims.c
    M src/plugins/MD5Plugin/MD5Plugin.c
    M src/plugins/SHA2Plugin/SHA2Plugin.c
    M src/spur32.cog.lowcode/cogit.h
    M src/spur32.cog.lowcode/cogitARMv5.c
    M src/spur32.cog.lowcode/cogitIA32.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/cogit.h
    M src/spur32.cog/cogitARMv5.c
    M src/spur32.cog/cogitIA32.c
    M src/spur32.cog/cointerp.c
    M src/spur32.cog/cointerp.h
    M src/spur32.cog/cointerpmt.c
    M src/spur32.cog/cointerpmt.h
    M src/spur32.cog/gcc3x-cointerp.c
    M src/spur32.cog/gcc3x-cointerpmt.c
    M src/spur32.sista/cogit.h
    M src/spur32.sista/cogitARMv5.c
    M src/spur32.sista/cogitIA32.c
    M src/spur32.sista/cointerp.c
    M src/spur32.sista/cointerp.h
    M src/spur32.sista/gcc3x-cointerp.c
    M src/spur32.stack.lowcode/gcc3x-interp.c
    M src/spur32.stack.lowcode/interp.c
    M src/spur32.stack/gcc3x-interp.c
    M src/spur32.stack/interp.c
    M src/spur32.stack/validImage.c
    M src/spur64.cog.lowcode/cogit.h
    M src/spur64.cog.lowcode/cogitARMv8.c
    M src/spur64.cog.lowcode/cogitX64SysV.c
    M src/spur64.cog.lowcode/cogitX64WIN64.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/cogit.h
    M src/spur64.cog/cogitARMv8.c
    M src/spur64.cog/cogitX64SysV.c
    M src/spur64.cog/cogitX64WIN64.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/cogit.h
    M src/spur64.sista/cogitARMv8.c
    M src/spur64.sista/cogitX64SysV.c
    M src/spur64.sista/cogitX64WIN64.c
    M src/spur64.sista/cointerp.c
    M src/spur64.sista/cointerp.h
    M src/spur64.sista/gcc3x-cointerp.c
    M src/spur64.stack.lowcode/gcc3x-interp.c
    M src/spur64.stack.lowcode/interp.c
    M src/spur64.stack/gcc3x-interp.c
    M src/spur64.stack/interp.c
    M src/spur64.stack/validImage.c
    M src/v3.cog/cogit.h
    M src/v3.cog/cogitARMv5.c
    M src/v3.cog/cogitIA32.c
    M src/v3.cog/cointerp.c
    M src/v3.cog/cointerp.h
    M src/v3.cog/gcc3x-cointerp.c
    M src/v3.stack/gcc3x-interp.c
    M src/v3.stack/interp.c

  Log Message:
  -----------
  CogVM source as per Name: VMMaker.oscog-eem.3144

Spur CoInterpreter: harmonize named and numbered primitive Spur primitive
property flags. Use a common pragma, primitiveMetadata:, to mark named
primitives and numbered primitives.  Mark several methods with the
PrimCallOnSmalltalkStack (a.k.a. FastCPrimitiveFlag) flag, especially
BoxedFloat, SmallFloat, and 64-bit LargeInteger primitives in
InterpreterPrimitives.  Make sure that vmParameterAt: uses that flag, even
though the other versions of primitive 254 do not.

Nuke support for the old pre-Alien callbacks.  Only very old versions of
two plugins use this, and it's easy to upgrade to use Alien callbacks.
(missing from the Monticello commit message)

Spur Cogit: Instead of setting newMethod & primitiveFunctionPointer for all
primitives, only set newMethod  & primitiveFunctionPointer on failure (unless
a primitive uses the PrimCallNeedsNewMethod flag).  Use a CallRT to invoke
internal primitives if it spans far enough.




More information about the Vm-dev mailing list