[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] f20878: CogVM source as per VMMaker.oscog-eem.2523
Eliot Miranda
noreply at github.com
Thu Feb 28 21:12:58 UTC 2019
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: f20878cdccf40ab6381602dc58074413eab2dffa
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f20878cdccf40ab6381602dc58074413eab2dffa
Author: Eliot Miranda <eliot.miranda at gmail.com>
Date: 2019-02-28 (Thu, 28 Feb 2019)
Changed paths:
M nsspur64src/vm/cogit.h
M nsspur64src/vm/cointerp.c
M nsspur64src/vm/cointerp.h
M nsspur64src/vm/gcc3x-cointerp.c
M nsspur64src/vm/interp.h
M nsspursrc/vm/cogit.h
M nsspursrc/vm/cointerp.c
M nsspursrc/vm/cointerp.h
M nsspursrc/vm/gcc3x-cointerp.c
M nsspursrc/vm/interp.h
M nsspurstack64src/vm/gcc3x-interp.c
M nsspurstack64src/vm/interp.c
M nsspurstack64src/vm/interp.h
M nsspurstacksrc/vm/gcc3x-interp.c
M nsspurstacksrc/vm/interp.c
M nsspurstacksrc/vm/interp.h
M spur64src/vm/cogit.h
M spur64src/vm/cointerp.c
M spur64src/vm/cointerp.h
M spur64src/vm/cointerpmt.c
M spur64src/vm/cointerpmt.h
M spur64src/vm/gcc3x-cointerp.c
M spur64src/vm/gcc3x-cointerpmt.c
M spur64src/vm/interp.h
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 spurlowcode64src/vm/interp.h
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 spurlowcodesrc/vm/interp.h
M spurlowcodestack64src/vm/gcc3x-interp.c
M spurlowcodestack64src/vm/interp.c
M spurlowcodestack64src/vm/interp.h
M spurlowcodestacksrc/vm/gcc3x-interp.c
M spurlowcodestacksrc/vm/interp.c
M spurlowcodestacksrc/vm/interp.h
M spursista64src/vm/cogit.h
M spursista64src/vm/cointerp.c
M spursista64src/vm/cointerp.h
M spursista64src/vm/gcc3x-cointerp.c
M spursista64src/vm/interp.h
M spursistasrc/vm/cogit.h
M spursistasrc/vm/cointerp.c
M spursistasrc/vm/cointerp.h
M spursistasrc/vm/gcc3x-cointerp.c
M spursistasrc/vm/interp.h
M spursrc/vm/cogit.h
M spursrc/vm/cointerp.c
M spursrc/vm/cointerp.h
M spursrc/vm/cointerpmt.c
M spursrc/vm/cointerpmt.h
M spursrc/vm/gcc3x-cointerp.c
M spursrc/vm/gcc3x-cointerpmt.c
M spursrc/vm/interp.h
M spurstack64src/vm/gcc3x-interp.c
M spurstack64src/vm/interp.c
M spurstack64src/vm/interp.h
M spurstacksrc/vm/gcc3x-interp.c
M spurstacksrc/vm/interp.c
M spurstacksrc/vm/interp.h
M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c
M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c
M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c
M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.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
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.2523
Spur:
Fix image segment storage when there is insufficient contguous space to store
the array of objects to be included in a segment. I wrote the code to answer a
suitable error object (a SmallInteger of the required size), but forgot to
handle the return, hence causing horrible crashes as the VM attempted to access
objects in a SmallInteger. this was Max Leske's failing segment storage test
case (a 66.5Mb segment).
Handle the case by introducing a new error code (PrimErrNeedCompact) and having
the primitive perform a full GC when it gets the error code, and then to retry
segment storage.
Have printFreeTree/printFreeChunk:printAsTreeNode: mark the root node with a '+'
Fix some slips in free chunk integrity checking.
More information about the Vm-dev
mailing list