[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] b266a5: CogVM source as per Name: VMMaker.oscog-eem.3127

Eliot Miranda noreply at github.com
Sun Jan 2 02:31:25 UTC 2022


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

  Changed paths:
    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/plugins/SqueakFFIPrims/SqueakFFIPrims.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.3127

Revise primitiveSuspend to no longer just remove a process from its
condition variable list if waiting on a condition variable. Instead
also back up the process one bytecode so that the blocking send will
be retried if and when the process is resumed.

Distinguish between a process being runnable but not active from a
blocked process by the class of myList.  If myList is LinkedList the
process is runnable.  Hence keep track of the class of LinkedList.

Refactor convertToInterpreterFrame: to convertFrame:toInterpreterFrame:
to facilitate implementation in the Cogit (a send byetcode is not a
suspension point in machien code, hence a machien code caller of a
blocking primtiive must be converted to an interpreter frame).

Fix formatting bug in longPrintOop:.

Cog: several places can use startPCOfMethodHeader: instead of startPCOfMethod:

convertToInterpreterFrame: needs to assert validInstructionPointer:..., not
just evaluate it.

Interpreter: better to test process having a context first in printAllStacks.




More information about the Vm-dev mailing list