[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] db9149: Regenerate code as of VMMaker.oscog-nice.2714

Nicolas Cellier noreply at github.com
Wed Feb 19 00:19:35 UTC 2020


  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: db9149b5bcf92a91b3129311b5a0c606aaa6ca90
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/db9149b5bcf92a91b3129311b5a0c606aaa6ca90
  Author: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M nsspur64src/vm/cogit.c
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cogitX64SysV.c
    M nsspur64src/vm/cogitX64WIN64.c
    M nsspursrc/vm/cogit.h
    M nsspursrc/vm/cogitARMv5.c
    M nsspursrc/vm/cogitIA32.c
    M nsspursrc/vm/cogitMIPSEL.c
    M spur64src/vm/cogit.c
    M spur64src/vm/cogit.h
    M spur64src/vm/cogitX64SysV.c
    M spur64src/vm/cogitX64WIN64.c
    M spurlowcode64src/vm/cogit.c
    M spurlowcode64src/vm/cogit.h
    M spurlowcode64src/vm/cogitX64SysV.c
    M spurlowcode64src/vm/cogitX64WIN64.c
    M spurlowcodesrc/vm/cogit.h
    M spurlowcodesrc/vm/cogitARMv5.c
    M spurlowcodesrc/vm/cogitIA32.c
    M spurlowcodesrc/vm/cogitMIPSEL.c
    M spursista64src/vm/cogit.c
    M spursista64src/vm/cogit.h
    M spursista64src/vm/cogitX64SysV.c
    M spursista64src/vm/cogitX64WIN64.c
    M spursistasrc/vm/cogit.h
    M spursistasrc/vm/cogitARMv5.c
    M spursistasrc/vm/cogitIA32.c
    M spursistasrc/vm/cogitMIPSEL.c
    M spursrc/vm/cogit.h
    M spursrc/vm/cogitARMv5.c
    M spursrc/vm/cogitIA32.c
    M spursrc/vm/cogitMIPSEL.c
    M src/plugins/LargeIntegers/LargeIntegers.c
    M src/vm/cogit.h
    M src/vm/cogitARMv5.c
    M src/vm/cogitIA32.c
    M src/vm/cogitMIPSEL.c

  Log Message:
  -----------
  Regenerate code as of VMMaker.oscog-nice.2714

Fix incorrect IA32/X64 encoding of operands LZCNT (ClzRR) and BSR instructions.

I did swap the operands, destReg is in reg/opcode (RO) field, and maskReg (source) is in r/m (RM) field.
------
VMMaker.oscog-nice.2713

Fix bug in LargeInteger division: instantiation of quotient (quo) may fail and thus require a proper guard.

It may happen: I did report some crash when testing huge integer division at http://smallissimo.blogspot.com/2019/05/tuning-large-arithmetic-thresholds.html

Fix a copy/paste glitch JumpCarry/JumpNoCarry in #setsConditionCodesFor:
We only ever use JumpZero so far, so it's benign.




More information about the Vm-dev mailing list