[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 8e97ca: CogVm source as per VMMaker.oscog-eem.2315
GitHub
noreply at github.com
Fri Jan 12 19:38:11 UTC 2018
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 8e97ca2e66c2b8ccb4c6b5839a76e06ed7aad4bc
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8e97ca2e66c2b8ccb4c6b5839a76e06ed7aad4bc
Author: Eliot Miranda <eliot.miranda at gmail.com>
Date: 2018-01-12 (Fri, 12 Jan 2018)
Changed paths:
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 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/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.2315
Double-back on the rash statement that there was a bad bug in ceSend:above:to:numArgs:
which was written to accept an association, not a class. This was by design.
Generalize the JIT support for directed super sends so that it accepts both the
pushLiteral: foo; directedSuperSend: bar numArgs: baz, and
pushLiteralVariable: foo; directedSuperSend: bar numArgs: baz
forms. Introduce aother directed send trampoline table for directedSuperBindingSends.
Implement ceSend:aboveClassBinding:to:numArgs: using ceSend:above:to:numArgs:.
Simplify, deleting genPushLiteralVariableGivenDirectedSuper: et al, and simply having
genPushLiteralIndex: peek for a directed super send if the bytecode set includes it.
Add the directedSendUsesBinding variable, set only by genPushLiteralIndex: and
consumed by genSendDirectedSuper:numArgs:, to distinguish between the two forms.
Keep the unused printPCMapPairsFor:, but mark it as doNotGenerate.
Implement targetMethodAndSendTableFor:annotation:into: in terms of
offsetAndSendTableFor:annotation:into:.
More information about the Vm-dev
mailing list