[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 883fab: CogVM/IA32API plugin source as per VMMaker.oscog-e...

Eliot Miranda noreply at github.com
Sun Oct 18 02:28:55 UTC 2020


  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 883fab5c30cff36aeb93129030e8f7bfa692a697
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/883fab5c30cff36aeb93129030e8f7bfa692a697
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2020-10-17 (Sat, 17 Oct 2020)

  Changed paths:
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cogitARMv8.c
    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 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/vmCallback.h
    M nsspurstack64src/vm/gcc3x-interp.c
    M nsspurstack64src/vm/interp.c
    M nsspurstack64src/vm/vmCallback.h
    M nsspurstacksrc/vm/gcc3x-interp.c
    M nsspurstacksrc/vm/interp.c
    M nsspurstacksrc/vm/vmCallback.h
    M platforms/Cross/plugins/IA32ABI/arm32abicc.c
    M platforms/Cross/plugins/IA32ABI/arm64abicc.c
    M platforms/Cross/plugins/IA32ABI/ia32abicc.c
    M platforms/Cross/plugins/IA32ABI/ppc32abicc.c
    M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c
    M platforms/Cross/plugins/IA32ABI/x64win64abicc.c
    M platforms/win32/vm/sqWin32Main.c
    M spur64src/vm/cogit.h
    M spur64src/vm/cogitARMv8.c
    M spur64src/vm/cogitX64SysV.c
    M spur64src/vm/cogitX64WIN64.c
    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/vmCallback.h
    M spurlowcode64src/vm/cogit.h
    M spurlowcode64src/vm/cogitARMv8.c
    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/vmCallback.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/vmCallback.h
    M spurlowcodestack64src/vm/gcc3x-interp.c
    M spurlowcodestack64src/vm/interp.c
    M spurlowcodestack64src/vm/vmCallback.h
    M spurlowcodestacksrc/vm/gcc3x-interp.c
    M spurlowcodestacksrc/vm/interp.c
    M spurlowcodestacksrc/vm/vmCallback.h
    M spursista64src/vm/cogit.h
    M spursista64src/vm/cogitARMv8.c
    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 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/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/cointerpmt.c
    M spursrc/vm/cointerpmt.h
    M spursrc/vm/gcc3x-cointerp.c
    M spursrc/vm/gcc3x-cointerpmt.c
    M spursrc/vm/vmCallback.h
    M spurstack64src/vm/gcc3x-interp.c
    M spurstack64src/vm/interp.c
    M spurstack64src/vm/validImage.c
    M spurstack64src/vm/vmCallback.h
    M spurstacksrc/vm/gcc3x-interp.c
    M spurstacksrc/vm/interp.c
    M spurstacksrc/vm/validImage.c
    M spurstacksrc/vm/vmCallback.h
    M src/plugins/ClipboardExtendedPlugin/ClipboardExtendedPlugin.c
    M src/plugins/IA32ABI/IA32ABI.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/vmCallback.h
    M stacksrc/vm/gcc3x-interp.c
    M stacksrc/vm/interp.c
    M stacksrc/vm/vmCallback.h

  Log Message:
  -----------
  CogVM/IA32API plugin source as per VMMaker.oscog-eem.2847

Fix a bad bug in IA32ABIPlugin>>#primReturnAsFromContextThrough, which must
always signal the semaphore whether it returns to C oir not, because if more
than one callback is waiting to retuern and one that fails to return doesn't
signal the semaphore to give anothe rwaiitng callback the chance to return
the system will deadlock.
Add savedMostRecentCallbackContext to VMCallbackContext so we can get the
entire list from the image to debug deadlocks.
Consign IA32ABIPlugin>>#primReturnFromContextThrough to history.




More information about the Vm-dev mailing list