[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] b0faf3: CogVM source as per VMMaker.oscogSPC-eem.2129.

GitHub noreply at github.com
Tue Feb 14 20:13:04 UTC 2017


  Branch: refs/heads/SpurPlanningCompactor
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: b0faf3e68f179bcdc115ac74b82a799c957e6e33
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b0faf3e68f179bcdc115ac74b82a799c957e6e33
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2017-02-14 (Tue, 14 Feb 2017)

  Changed paths:
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cogitX64.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/cogitX64.c
    M spur64src/vm/cointerp.c
    M spur64src/vm/cointerp.h
    M spur64src/vm/gcc3x-cointerp.c
    M spursista64src/vm/cogit.h
    M spursista64src/vm/cogitX64.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.oscogSPC-eem.2129.
InterpreterPrimitives:
Simplify the boxed and immediate unary float primitives to do less stack
manipulations and/or primFailCode testing.
primitiveSmallFloatSquareRoot must fail for negative arguments.

64-bit Cogit:
Fix a regression in CogX64Compiler>>concretizeConvertRRd and a bug in
CogX64Compiler>>concretizeConvertRdR.
Fix a bug in genPrimitiveSmallFloatSquareRoot.  The primitive must fail for
negative arguments.

Cogit:
Fix some C compilation warnings due to mismatched pointer types.
(Slang) Get methods that return AbstractInstrucitons to be inlinable.

SimpleStackBasedCogit:
Avoid assuming bytecode sizes in  closure creation.

StackToRegisterMappingCogit:
Simplify genForwardersInlinedIdenticalOrNotIf: to avoid an extra call of
genEnsureOopInRegNotForwarded:...
Generate slightly better code in genSpecialSelectorComparison
Squash jump L1; nop; L1 to nop; nop (again as part of jump following).
Don't bother to inline genEnsureOopInRegNotForwarded:scratchReg:ifForwarder:
ifNotForwarder:, but do inline genEnsureOopInRegNotForwarded:scratchReg:
jumpBackTo: which is simply a call of the other.

Cogit:
Refactor fixupAt: & initializeFixupAt: to take bytecode PCs not indexes.  Add
fixupAtIndex: as the method that takes an index.
Refactor sends of ensure[NonMerge]FixupAt:, moving the ever-present
"- initialPC" into ensure[NonMerge]FixupAt:.




More information about the Vm-dev mailing list