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

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

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

Eliot Miranda-3
  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: db9149b5bcf92a91b3129311b5a0c606aaa6ca90
  Author: Nicolas Cellier <[hidden email]>
  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.

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.