[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 1c6147: CogVM source as per VMMaker.oscog-eem.2040

GitHub noreply at github.com
Thu Dec 15 21:49:34 UTC 2016


  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 1c6147597cef6cba31456cedc9692d16e6b9fecd
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1c6147597cef6cba31456cedc9692d16e6b9fecd
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2016-12-15 (Thu, 15 Dec 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 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 nsspurstack64src/vm/gcc3x-interp.c
    M nsspurstack64src/vm/interp.c
    M nsspurstacksrc/vm/gcc3x-interp.c
    M nsspurstacksrc/vm/interp.c
    M platforms/Cross/vm/sqSCCSVersion.h
    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 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 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 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 spurstack64src/vm/gcc3x-interp.c
    M spurstack64src/vm/interp.c
    M spurstacksrc/vm/gcc3x-interp.c
    M spurstacksrc/vm/interp.c
    M src/plugins/B2DPlugin/B2DPlugin.c
    M src/plugins/BitBltPlugin/BitBltPlugin.c
    M src/plugins/DSAPrims/DSAPrims.c
    M src/plugins/IA32ABI/IA32ABI.c
    M src/plugins/LargeIntegers/LargeIntegers.c
    M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c
    M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c
    M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c
    M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c
    M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c
    M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
    M src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c
    M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
    M src/plugins/ZipPlugin/ZipPlugin.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 stacksrc/vm/gcc3x-interp.c
    M stacksrc/vm/interp.c

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

ThreadedX64SysVFFIPlugin
Fix regression due to faulty merge.

Slang:
Make functional methods that start with an assert inlineable and hence make
isSmallFloatZero: inlineable, given that it is marked <inline: #always>.
To this end:
Refactor tryToInlineMethodsIn: into tryToInlineMethodsIn:,
tryToInlineMethodExpressionsIn: & tryToInlineMethodStatementsIn:statementListsInto:.
Choose to apply tryToInlineMethodStatementsIn:statementListsInto: first
(reversing the order of the previous tryToInlineMethodExpressionsIn:) because
doing so creates less methods with long comma-chained expressions, which IME can
be a source of C compiler bugs.
Add a check for failure to inline <inline: #always> methods.

Hence regenerate all sources (unchanged plugins have been reverted).

StackInterpreter:
Remove nsMethodCache in non NewspeakVMs.




More information about the Vm-dev mailing list