[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 6f21cb: CogVM source as per VMMaker.oscog-eem.3282

Eliot Miranda noreply at github.com
Wed Dec 14 02:10:47 UTC 2022


  Branch: refs/heads/virtend
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 6f21cbc8f65f522bc7aa87195e7a3890a8ca9755
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6f21cbc8f65f522bc7aa87195e7a3890a8ca9755
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2022-12-13 (Tue, 13 Dec 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/cogit.h
    M src/spur32.cog/cogitARMv5.c
    M src/spur32.cog/cogitIA32.c
    M src/spur32.sista/cogit.h
    M src/spur32.sista/cogitARMv5.c
    M src/spur32.sista/cogitIA32.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/cogit.h
    M src/spur64.cog/cogitARMv8.c
    M src/spur64.cog/cogitX64SysV.c
    M src/spur64.cog/cogitX64WIN64.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/v3.cog/cogit.h
    M src/v3.cog/cogitARMv5.c
    M src/v3.cog/cogitIA32.c

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

Check the argument count of the target method in the jitted perform primitive.
Thanks to Boris Shingarov and Juan Vuletich for finding this.


  Commit: b3451ed511c7b11ba667b547ac34fde37d503c47
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b3451ed511c7b11ba667b547ac34fde37d503c47
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2022-12-13 (Tue, 13 Dec 2022)

  Changed paths:
    M platforms/Cross/vm/sqMemoryAccess.h
    M platforms/Mac OS/vm/sqMacMemory.c
    M platforms/iOS/vm/Common/sqMacV2Memory.c
    M platforms/minheadless/windows/sqWin32SpurAlloc.c
    M platforms/unix/vm/sqUnixSpurMemory.c
    M platforms/win32/vm/sqWin32SpurAlloc.c

  Log Message:
  -----------
  Change the type of sqAllocateMemorySegmentOfSizeAboveAllocatedSizeInto to get
sqMacV2Memory.c to compile on 32-bit MacOS. It should have taken usqInts in the
first place. Implement allocateJITMemory for sqMacV2Memory.c/V3 macOS.


  Commit: c5c526cc08453e4f0a0703776e93681a80f740cb
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c5c526cc08453e4f0a0703776e93681a80f740cb
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2022-12-13 (Tue, 13 Dec 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/cogit.h
    M src/spur32.cog/cogitARMv5.c
    M src/spur32.cog/cogitIA32.c
    M src/spur32.sista/cogit.h
    M src/spur32.sista/cogitARMv5.c
    M src/spur32.sista/cogitIA32.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/cogit.h
    M src/spur64.cog/cogitARMv8.c
    M src/spur64.cog/cogitX64SysV.c
    M src/spur64.cog/cogitX64WIN64.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/v3.cog/cogit.h
    M src/v3.cog/cogitARMv5.c
    M src/v3.cog/cogitIA32.c

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

Implement a machine code primitive for 84 perform:withArguments:.
It is about 5x faster, and some applications make heavy use of it.

Have genLoadcmNumArgsOf:into: deal with the optional zero-extension byte read
convention.

Fix slips in CogARMv8Compiler>>isImmNImmSImmREncodableBitmask:ifTrue:ifFalse:/
decodeN:imms:immr:


Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/1a7f4f3c818f...c5c526cc0845


More information about the Vm-dev mailing list