[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 46d713: CogVM source as per VMMaker.oscog-eem.3031

Eliot Miranda noreply at github.com
Fri Aug 6 04:23:09 UTC 2021


  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 46d713f36e018b1fe7441a35b0a1d5bedb94aa4e
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/46d713f36e018b1fe7441a35b0a1d5bedb94aa4e
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2021-08-05 (Thu, 05 Aug 2021)

  Changed paths:
    R nsspursrc/vm/cogitMIPSEL.c
    M platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m
    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 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 spurlowcodesrc/vm/cogit.c
    M spurlowcodesrc/vm/cogit.h
    M spurlowcodesrc/vm/cogitARMv5.c
    M spurlowcodesrc/vm/cogitIA32.c
    R 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/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 spursistasrc/vm/cogit.c
    M spursistasrc/vm/cogit.h
    M spursistasrc/vm/cogitARMv5.c
    M spursistasrc/vm/cogitIA32.c
    R spursistasrc/vm/cogitMIPSEL.c
    M spursistasrc/vm/cointerp.c
    M spursistasrc/vm/cointerp.h
    M spursistasrc/vm/gcc3x-cointerp.c
    M spursrc/vm/cogit.c
    M spursrc/vm/cogit.h
    M spursrc/vm/cogitARMv5.c
    M spursrc/vm/cogitIA32.c
    R 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 spurstack64src/vm/gcc3x-interp.c
    M spurstack64src/vm/interp.c
    M spurstack64src/vm/validImage.c
    M spurstacksrc/vm/gcc3x-interp.c
    M spurstacksrc/vm/interp.c
    M spurstacksrc/vm/validImage.c
    M src/vm/cogit.c
    M src/vm/cogit.h
    M src/vm/cogitARMv5.c
    M src/vm/cogitIA32.c
    R src/vm/cogitMIPSEL.c
    M src/vm/cointerp.c
    M src/vm/cointerp.h
    M src/vm/gcc3x-cointerp.c
    M stacksrc/vm/gcc3x-interp.c
    M stacksrc/vm/interp.c

  Log Message:
  -----------
  CogVM source as per VMMaker.oscog-eem.3031

macOS: Fix a regression in sqMacUnixExternalPrims.m.

Slang: exclude CogMIPSELCompiler from generation.

Cogit: reimplement profiling support for AndreasSystemProfiler:

- check the profile clock *after* a primitive has succeeded, not before.
  testing before is clearly broken (what was I thinking?!?!?).
- use the same support that ioHighResClock uses; hence no AArch32 support for
  now (but we could put a SIGSEGV handler around an initial invocation to
  check if support is available).
- Add a new operand type for CogRTLOpcodes; L means "live registers" and allows
  the code generators to generate tight code for MovePerfCnt64RRL &
  MovePerfCnt64RL, avoiding saving registers that are not live.
- rewrite compileInterpreterPrimitive:flags: to split off the sideways call,
  and make the flow through a normal call, retry, prodflie sample sequence.

Frame printing: go some way to printing strings better for arg fields of a
frame.  The issue is string arguments, e.g. those with all of ASCII using
in translate:from:to:using:

Nuke the longRunningPrimitive sampling support.  it' a poor idea compared to
Andreas' accurate primitive profiling.




More information about the Vm-dev mailing list