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

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

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

  Branch: refs/heads/SpurPlanningCompactor
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: b0faf3e68f179bcdc115ac74b82a799c957e6e33
  Author: Eliot Miranda <[hidden email]>
  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.
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
Fix a bug in genPrimitiveSmallFloatSquareRoot.  The primitive must fail for
negative arguments.

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

Avoid assuming bytecode sizes in  closure creation.

Simplify genForwardersInlinedIdenticalOrNotIf: to avoid an extra call of
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.

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:.