[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 143b72: CogVM source as per VMMaker.oscog-eem.3297/Balloon...

Eliot Miranda noreply at github.com
Fri Jan 13 20:52:26 UTC 2023


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

  Changed paths:
    M src/plugins/CroquetPlugin/CroquetPlugin.c
    M src/plugins/Squeak3D/Squeak3D.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 VMMaker.oscog-eem.3297/Balloon3D-Plugins-eem.20

Include a small suite of VM benchmark primitives to measure the time taken by
operations that are too short-lived to want to time them (because timing can
have significant overhead).

Add an abstraction for identifying full block methods and use it in asserts.

Refactor followForwardingPointersInStackZone: to followForwardingPointersInStackZone
since it makes no use of the becomeEffectFlags argument.

Make sure all uses of cloneObject: in plugins test the result appropriately.

Make sure the head frame pointers are written back when cloning a context in
primitiveClone.

Simplify the TempVectReadBarrier testing in Stack/CoInterpreter, adding one
method and deleting four, and testing TempVectReadBarrier in a single method
only (albeit one that is overridden in CoInterpreter).

Given that better forwarding machinery was written over time, use a slightly
better form for dealing with potential forwarding in the pushFullClosure bytecode,
and neaten StackInterpreter>>pushLiteralVariable:/storeLiteralVariable:withValue:
to use it.




More information about the Vm-dev mailing list