[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 4bd2f7: CogVM source as per VMMaker.oscog-eem.1993 & Cog-e...

GitHub noreply at github.com
Fri Nov 18 16:39:01 UTC 2016


  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 4bd2f7695384cb9beb37d24f2063825d57f83094
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4bd2f7695384cb9beb37d24f2063825d57f83094
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2016-11-17 (Thu, 17 Nov 2016)

  Changed paths:
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cogitX64.c
    M nsspur64src/vm/cointerp.c
    M nsspur64src/vm/cointerp.h
    M nsspur64src/vm/gcc3x-cointerp.c
    M nsspur64src/vm/interp.h
    M nsspur64src/vm/vmCallback.h
    M nsspursrc/vm/cogit.h
    M nsspursrc/vm/cogitARMv5.c
    M nsspursrc/vm/cogitIA32.c
    M nsspursrc/vm/cogitMIPSEL.c
    M nsspursrc/vm/cointerp.c
    M nsspursrc/vm/cointerp.h
    M nsspursrc/vm/gcc3x-cointerp.c
    M nsspursrc/vm/interp.h
    M nsspursrc/vm/vmCallback.h
    M nsspurstack64src/vm/gcc3x-interp.c
    M nsspurstack64src/vm/interp.c
    M nsspurstack64src/vm/interp.h
    M nsspurstack64src/vm/vmCallback.h
    M nsspurstacksrc/vm/gcc3x-interp.c
    M nsspurstacksrc/vm/interp.c
    M nsspurstacksrc/vm/interp.h
    M nsspurstacksrc/vm/vmCallback.h
    M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c
    M spur64src/vm/cogit.h
    M spur64src/vm/cogitX64.c
    M spur64src/vm/cointerp.c
    M spur64src/vm/cointerp.h
    M spur64src/vm/gcc3x-cointerp.c
    M spur64src/vm/interp.h
    M spur64src/vm/vmCallback.h
    M spursista64src/vm/cogit.h
    M spursista64src/vm/cogitX64.c
    M spursista64src/vm/cointerp.c
    M spursista64src/vm/cointerp.h
    M spursista64src/vm/gcc3x-cointerp.c
    M spursista64src/vm/interp.h
    M spursista64src/vm/vmCallback.h
    M spursistasrc/vm/cogit.h
    M spursistasrc/vm/cogitARMv5.c
    M spursistasrc/vm/cogitIA32.c
    M spursistasrc/vm/cogitMIPSEL.c
    M spursistasrc/vm/cointerp.c
    M spursistasrc/vm/cointerp.h
    M spursistasrc/vm/gcc3x-cointerp.c
    M spursistasrc/vm/interp.h
    M spursistasrc/vm/vmCallback.h
    M spursrc/vm/cogit.h
    M spursrc/vm/cogitARMv5.c
    M spursrc/vm/cogitIA32.c
    M spursrc/vm/cogitMIPSEL.c
    M spursrc/vm/cointerp.c
    M spursrc/vm/cointerp.h
    M spursrc/vm/gcc3x-cointerp.c
    M spursrc/vm/interp.h
    M spursrc/vm/vmCallback.h
    M spurstack64src/vm/gcc3x-interp.c
    M spurstack64src/vm/interp.c
    M spurstack64src/vm/interp.h
    M spurstack64src/vm/vmCallback.h
    M spurstacksrc/vm/gcc3x-interp.c
    M spurstacksrc/vm/interp.c
    M spurstacksrc/vm/interp.h
    M spurstacksrc/vm/vmCallback.h
    M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c
    M src/plugins/BochsX64Plugin/BochsX64Plugin.c
    M src/plugins/GdbARMPlugin/GdbARMPlugin.c
    M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
    M src/vm/cogit.h
    M src/vm/cogitARMv5.c
    M src/vm/cogitIA32.c
    M src/vm/cogitMIPSEL.c
    M src/vm/cointerp.c
    M src/vm/cointerp.h
    M src/vm/cointerpmt.c
    M src/vm/cointerpmt.h
    M src/vm/gcc3x-cointerp.c
    M src/vm/gcc3x-cointerpmt.c
    M src/vm/interp.h
    M stacksrc/vm/gcc3x-interp.c
    M stacksrc/vm/interp.c
    M stacksrc/vm/interp.h
    M stacksrc/vm/vmCallback.h

  Log Message:
  -----------
  CogVM source as per VMMaker.oscog-eem.1993 & Cog-eem.330

Fix primitiveIntegerAt in Spur 64-bits by always using signed32BitIntegerFor: to
obtain the result object.  Refactor signed32BitIntegerFor: into an inlineable
part that cvhecks for isIntegerValue: and a non-inlined part
(noInlineSigned32BitIntegerGutsFor:) that constructs a LargeInteger object.

Fix accesss to DoubleByte integer arrays: fetchShort16:ofObject: is signed
and we want an unsigned short.

Note: most memory access should be unsigned and extension to sqInt is also
unnecessary: we have improving slang type inference now. Non counting the
divergence with VM simulator which provides mostly unsigned memory access!
But for now, do the minimal change that could possibly work, not the right one.

Fix passing 64bits args thru LLP64 FFI.

Plugins:
Fix integerValueOf: & integerObjectOf: in 64-bit plugins.  Since CCodeGenerator
generates the shifts directly it must use a #define for the number of tag bits
to shift by since in 64-bit Spur we use three tag bits, not one.

Fix prototype of various SurfaceFn again to match those of
platforms/Corss/plugins/SurfacePlugin/SurfacePlugin.h

These should be matching the prototypes:
fn_getSurfaceFormat
fn_lockSurface
fn_unlockSurface
fn_showSurface

The CPU Alien processor creation primitives should be 64-bit aware, including
LLP64.

The Win32OSPorcessPlugin needs a 64-bit variable for its handle on 64-bits.

Fix debug printing formats in sqUnixSocket.c for 64-bits (SOCKET(s) is int).


  Commit: ffc25509cf023a9b3e90b85c00ec53cc3eb9a8fd
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ffc25509cf023a9b3e90b85c00ec53cc3eb9a8fd
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2016-11-17 (Thu, 17 Nov 2016)

  Changed paths:
    M .appveyor.yml
    M build.win64x64/common/Makefile.tools
    M platforms/win32/vm/sqWin32Heartbeat.c
    M platforms/win32/vm/sqWin32Stubs.c

  Log Message:
  -----------
  Merge branch 'Cog' as per 1993 of http://www.github.com/opensmalltalk/vm as per 1988 into Cog


Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/87cf968fcd6f...ffc25509cf02


More information about the Vm-dev mailing list