[OpenSmalltalk/opensmalltalk-vm] 13e8b6: CogVM source as per VMMaker.oscog-eem.2195

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

[OpenSmalltalk/opensmalltalk-vm] 13e8b6: CogVM source as per VMMaker.oscog-eem.2195

Eliot Miranda-3
 
  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 13e8b6fd4e3556a63eeffddcb18f43c00fd517bc
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/13e8b6fd4e3556a63eeffddcb18f43c00fd517bc
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-04-17 (Mon, 17 Apr 2017)

  Changed paths:
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cogitX64SysV.c
    M nsspur64src/vm/cogitX64WIN64.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/cogitX64SysV.c
    M spur64src/vm/cogitX64WIN64.c
    M spur64src/vm/cointerp.c
    M spur64src/vm/cointerp.h
    M spur64src/vm/gcc3x-cointerp.c
    M spurlowcode64src/vm/cogit.h
    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.h
    M spurlowcodesrc/vm/cogitARMv5.c
    M spurlowcodesrc/vm/cogitIA32.c
    M 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/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.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.oscog-eem.2195

StackInterpreter:
Add hash multiply under primitive number 159.

Remove PrimitiveExternalCallIndex an favour of PrimNumberExternalCall.

Cogit:
Fix ancient bug with non-local return in the StackToRegisterMappingCogit; the
stack must be flushed before calling the non-local return trampoline.  Solves
some, if not all, of the stack depth mismatches on non-local return.

Implement calling C primitive on Smalltalk stack support in
compileMachineCodeInterpreterPrimitive:.  Refactor compileInterpreterPrimitive:
to compileInterpreterPrimitive:flags:, accessed via the CoInterpreter supplying
the PrimCallOnSmalltalkStack flag, moving the flags extraction to
compilePrimitive.  Leave an unused C primitive on Smalltalk stack version of
hashMultiply (mcprimHashMultiply:).  Implement as machine code
(genPrimitiveHashMultiply) because its significantly faster.

Have compileAbstractInstructionsFrom:through: only check that extensions are
consumed if the last bytecode generator succeeded.

Sista:
Implement ensureAllocableSlots: support.

Use duff's device to generate more compact instance intialization in the inline
pointer new primitive bytecode. As yet untested!!
Comment the inverse form of extJumpIfNotInstanceOfBehaviorsBytecode

Fix a regression in VMMaker.oscog-eem.2138 & VMMaker.oscog-eem.2143 where
receiverTags work broke counter trips in special selector comparisons of
known SmallIntegers.

Fix mapping errors for genExtStorePopRemoteTemp &
genSistaExtStoreAndPopReceiverVariableBytecode.

Fix a slip in genExtEnsureAllocableSlots; get the branch sense right.


  Commit: bde475b8a6bae043c57ca127ea1da478ea1189f7
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bde475b8a6bae043c57ca127ea1da478ea1189f7
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-04-17 (Mon, 17 Apr 2017)

  Changed paths:
    M platforms/unix/vm/sqUnixHeartbeat.c

  Log Message:
  -----------
  Merge branch 'Cog' of http://github.com/OpenSmalltalk/vm into Cog


  Commit: 96eb5cc0077b3f3463791ddfe3cf19e021833797
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/96eb5cc0077b3f3463791ddfe3cf19e021833797
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-04-17 (Mon, 17 Apr 2017)

  Changed paths:
    M src/vm/cogit.h
    M src/vm/cogitARMv5.c
    M src/vm/cogitIA32.c
    M src/vm/cogitMIPSEL.c

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

Use genGetCompactClassIndexNonImmOf:into: in genPrimitiveHashMultiply so as to
work on V3.


Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/1be1bf987fee...96eb5cc0077b