[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] d5835e: CogVM source as per VMMaker.oscog-eem.3174

Eliot Miranda noreply at github.com
Thu Mar 10 22:22:30 UTC 2022


  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: d5835e5ea2d427647e6b6bef7d11d6eba4fe7ea8
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d5835e5ea2d427647e6b6bef7d11d6eba4fe7ea8
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2022-03-10 (Thu, 10 Mar 2022)

  Changed paths:
    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 VMMaker.oscog-eem.3174

Fix https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/618 by redefining
the extended Push Character bytecode 233. Since character values are unsigned it
makes more sense to redefine the bytecode to take extA, the unsigned extension.
While this is potentially dangerous for older images I'm (eem) taking this
approach because
- AFAICT the exctended bytecode isn't in use in typical code
- those who are affected (primarily Marcel working on extended character
  support) can upgrade to a fixed VM
- Nicolas has deployed a patch to the compiler that avoids using the extension,
  and this can be elaborated to check if the VM is new enough before using extA.
- longer term using the unsigned extension is the more correct fix.


  Commit: 6d38f13347be1031168b8b02e8ca52dc1b74be1c
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6d38f13347be1031168b8b02e8ca52dc1b74be1c
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2022-03-10 (Thu, 10 Mar 2022)

  Changed paths:
    M src/spur32.stack/validImage.c
    M src/spur64.stack/validImage.c

  Log Message:
  -----------
  Hmmm, somehow validImage.c was generated with CR line terminators.
Hack fix it for now.


Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/b558efdd677d...6d38f13347be


More information about the Vm-dev mailing list