[OpenSmalltalk/opensmalltalk-vm] 051a0f: CogVm source as per VMMaker.oscog-eem.2722

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

[OpenSmalltalk/opensmalltalk-vm] 051a0f: CogVm source as per VMMaker.oscog-eem.2722

Eliot Miranda-3
 
  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 051a0fe56561b586c8e36f8c2950efd391059605
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/051a0fe56561b586c8e36f8c2950efd391059605
  Author: Eliot Miranda <[hidden email]>
  Date:   2020-03-04 (Wed, 04 Mar 2020)

  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 platforms/Cross/vm/dispdbg.h
    M platforms/Mac OS/vm/sqMacMemory.c
    M platforms/unix/vm/sqUnixMemory.c
    M platforms/unix/vm/sqUnixSpurMemory.c
    M platforms/win32/vm/sqWin32Alloc.c
    M platforms/win32/vm/sqWin32SpurAlloc.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/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/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/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.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.2722

Interpreter:
Fix compilation of primitiveHighBit on MSVC.  We take the address of a variable
by using (self addressOf: var), not "var address".

Change the signature of the core selector send breakpointing routines from
taking the receiver to taking a class tag. (Requires corresponding changes in
platforms/Cross/vm/dispdbg.h).
Add an accessor for breakLookupClassTag and add couldBeContext:.  Comment
fetchClassTagOf:. [This was all to track down a bug with ARMv8 do do with
register save/restore across the call in ceScheduleScavengeTrampoline that
caused contexts to appear where blocks were expected].

Fix printMethodFieldForPrintContext: to always print the method oop frst and
the cogMethod, if any, afterwards.

Fix asserts in frameCallerContext: and mapStackPages when a frame context may
be forwarded as part of scavenging.

Cogit:
rename the accessor for codeToDataDelta to getCodeToDataDelta to allow
codeToDataDelta to be defined as 0 in the non DUAL_MAPPED_CODE_ZONE regime.
Consequently find and fix a slip in NewspeakCogMethod class>>initialize.
Don't attempt to take the address of 0 in the DUAL_MAPPED_CODE_ZONE regime.
Fix genLoadCStackPointer(s) to use NativeSPReg

Fix followForwardedLiteralsIn:, mapObjectReferencesInMachineCodeForXXX, and
storeLiteral:atAnnotatedAddress:using: for the DUAL_MAPPED_CODE_ZONE regime.

Don't bother to rewrite the selector in a linked super send; this causes
overwriting of the selector index in 64-bit implementations, and hence may
cause an assert failure.  So it's a waste of effort and provokes an error.

Plugins:

Fix the BitBlt bug for convex shape fill.

The problem is that we are taking source one word too early (thus from previous
row).  This happens when taking hdir=-1 and it is related to preload (again!!).

Last thing: on 64bits, mask1 and mask2 have been declared int64...
But we only want 32 bit masks.
That is why I have protected with the bitAnd: AllOnes