[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 0364ee: CogVM source as per VMMaker.oscog-eem.2227

GitHub noreply at github.com
Mon May 29 17:44:19 UTC 2017

  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 0364ee70e95e68d2acea04067147f102b1510ce0
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cogitX64SysV.c
    M nsspur64src/vm/cogitX64WIN64.c
    M nsspursrc/vm/cogit.h
    M nsspursrc/vm/cogitARMv5.c
    M nsspursrc/vm/cogitIA32.c
    M nsspursrc/vm/cogitMIPSEL.c
    M spur64src/vm/cogit.h
    M spur64src/vm/cogitX64SysV.c
    M spur64src/vm/cogitX64WIN64.c
    M spurlowcode64src/vm/cogit.h
    M spurlowcode64src/vm/cogitX64SysV.c
    M spurlowcode64src/vm/cogitX64WIN64.c
    M spurlowcodesrc/vm/cogit.h
    M spurlowcodesrc/vm/cogitARMv5.c
    M spurlowcodesrc/vm/cogitIA32.c
    M spurlowcodesrc/vm/cogitMIPSEL.c
    M spursista64src/vm/cogit.h
    M spursista64src/vm/cogitX64SysV.c
    M spursista64src/vm/cogitX64WIN64.c
    M spursistasrc/vm/cogit.h
    M spursistasrc/vm/cogitARMv5.c
    M spursistasrc/vm/cogitIA32.c
    M spursistasrc/vm/cogitMIPSEL.c
    M spursrc/vm/cogit.h
    M spursrc/vm/cogitARMv5.c
    M spursrc/vm/cogitIA32.c
    M spursrc/vm/cogitMIPSEL.c
    M src/plugins/FilePlugin/FilePlugin.c
    M src/vm/cogit.h
    M src/vm/cogitARMv5.c
    M src/vm/cogitIA32.c
    M src/vm/cogitMIPSEL.c

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

Use genMarshallNArgs:arg:arg:arg:arg: when compiling an interpreter primitive
call to allow adding the shadow parameter space on Win64.

Remove a couple of unused and dubious methods in the CogAbstractInstruction
hierarchy.  Inline arg removal to match inlining of arg marshalling, since
removal is either no or one instruction.

Fix generation of JumpR on x64.  I forgot a rex byte.  This doesn't affect SysV
because we only ever jump through ClassReg (in an open PIC dispatch) which is
RCX (1) on SysV but R8 (8) on Win64.
With the fix to JumpR a Win64 image simulates correctly (with smashing of the
shadow parameter space).

Incorporate Monty's file plugin changes: add a new primitiveFileOpenNew to open an unexisting file atomically without race condition.

More information about the Vm-dev mailing list