[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 3010e4: CogVM source as per VMMaker.oscog-eem.2243

GitHub noreply at github.com
Fri Jun 16 01:35:54 UTC 2017


  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 3010e4465405f6ec7a289fc3a3d21eb324816a8f
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3010e4465405f6ec7a289fc3a3d21eb324816a8f
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M build.macos64x64/squeak.sista.spur/Makefile
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cogitX64SysV.c
    M nsspur64src/vm/cogitX64WIN64.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/sq.h
    M spur64src/vm/cogit.h
    M spur64src/vm/cogitX64SysV.c
    M spur64src/vm/cogitX64WIN64.c
    M spur64src/vm/cointerp.c
    M spur64src/vm/cointerp.h
    M spur64src/vm/gcc3x-cointerp.c
    M spurlowcode64src/vm/cogit.h
    M spurlowcode64src/vm/cogitX64SysV.c
    M spurlowcode64src/vm/cogitX64WIN64.c
    M spurlowcode64src/vm/cointerp.c
    M spurlowcode64src/vm/cointerp.h
    M spurlowcode64src/vm/gcc3x-cointerp.c
    M spurlowcodesrc/vm/cogit.h
    M spurlowcodesrc/vm/cogitARMv5.c
    M spurlowcodesrc/vm/cogitIA32.c
    M spurlowcodesrc/vm/cogitMIPSEL.c
    M spurlowcodesrc/vm/cointerp.c
    M spurlowcodesrc/vm/cointerp.h
    M spurlowcodesrc/vm/gcc3x-cointerp.c
    M spurlowcodestack64src/vm/gcc3x-interp.c
    M spurlowcodestack64src/vm/interp.c
    M spurlowcodestacksrc/vm/gcc3x-interp.c
    M spurlowcodestacksrc/vm/interp.c
    M spursista64src/vm/cogit.h
    M spursista64src/vm/cogitX64SysV.c
    M spursista64src/vm/cogitX64WIN64.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/CroquetPlugin/CroquetPlugin.c
    M src/plugins/DSAPrims/DSAPrims.c
    M src/plugins/FFTPlugin/FFTPlugin.c
    M src/plugins/GeniePlugin/GeniePlugin.c
    M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c
    M src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c
    M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c
    M src/plugins/ScratchPlugin/ScratchPlugin.c
    M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.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.2243

StackInterpreter:
Make statTenures, statAverageLivePagesWhenMapping & statMaxPageCountWhenMapping
(parameters 11, 68 & 69) writable to allow easier profiling.  Allow parameters
expecting a float (statTenures, Sista CogCodeThreshold &
statAverageLivePagesWhenMapping: 17, 55, 68) to take an int.

Slang:
Fix a bug in inferTypesForImplicitlyTypedVariablesIn:.  We cannot derive types
from variables assigned to until all assignments are typed.  So exclude
variables assigned from as-yet-untyped methods.  The old code would simply
ignore the types from  as-yet-untyped methods, hence leaving the variable
with a chosen-at-random, unmerged type.

This fixes a number of cases.  But there's still the weirdness that the return
type of mapEndFor: in cogitX64SysV.c is correct (usqInt) but incorrect (sqInt)
in cogitX64WIN64.c.  Luckily this is benign, but still should be fixed asap.




More information about the Vm-dev mailing list