Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 0364ee70e95e68d2acea04067147f102b1510ce0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0364ee70e95e68d2ace... Author: Eliot Miranda eliot.miranda@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
Cogit: 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).
FilePlugin: Incorporate Monty's file plugin changes: add a new primitiveFileOpenNew to open an unexisting file atomically without race condition.