[OpenSmalltalk/opensmalltalk-vm] c14b71: CogVM source as per Name: VMMaker.oscog-eem.2862

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

[OpenSmalltalk/opensmalltalk-vm] c14b71: CogVM source as per Name: VMMaker.oscog-eem.2862

Eliot Miranda-3
 
  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: c14b7173411680b35353844aa619d0b091d10e13
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c14b7173411680b35353844aa619d0b091d10e13
  Author: Eliot Miranda <[hidden email]>
  Date:   2020-10-29 (Thu, 29 Oct 2020)

  Changed paths:
    M build.macos64x64/bochsx64/exploration/Makefile
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cogitARMv8.c
    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 nsspur64src/vm/vmCallback.h
    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 nsspursrc/vm/vmCallback.h
    M nsspurstack64src/vm/gcc3x-interp.c
    M nsspurstack64src/vm/interp.c
    M nsspurstack64src/vm/vmCallback.h
    M nsspurstacksrc/vm/gcc3x-interp.c
    M nsspurstacksrc/vm/interp.c
    M nsspurstacksrc/vm/vmCallback.h
    M platforms/iOS/vm/OSX/sqPlatformSpecific.h
    M processors/IA32/bochs/explorationx64/printcpu.c
    M processors/IA32/bochs/explorationx64/printcpucr.c
    M processors/IA32/bochs/explorationx64/printcpuxmm.c
    M scripts/gitrevert
    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 spur64src/vm/vmCallback.h
    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 spurlowcode64src/vm/vmCallback.h
    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 spurlowcodesrc/vm/vmCallback.h
    M spurlowcodestack64src/vm/gcc3x-interp.c
    M spurlowcodestack64src/vm/interp.c
    M spurlowcodestack64src/vm/vmCallback.h
    M spurlowcodestacksrc/vm/gcc3x-interp.c
    M spurlowcodestacksrc/vm/interp.c
    M spurlowcodestacksrc/vm/vmCallback.h
    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 spursista64src/vm/vmCallback.h
    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 spursistasrc/vm/vmCallback.h
    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 spursrc/vm/vmCallback.h
    M spurstack64src/vm/gcc3x-interp.c
    M spurstack64src/vm/interp.c
    M spurstack64src/vm/validImage.c
    M spurstack64src/vm/vmCallback.h
    M spurstacksrc/vm/gcc3x-interp.c
    M spurstacksrc/vm/interp.c
    M spurstacksrc/vm/validImage.c
    M spurstacksrc/vm/vmCallback.h
    M src/plugins/B2DPlugin/B2DPlugin.c
    M src/plugins/FilePlugin/FilePlugin.c
    M src/plugins/SocketPlugin/SocketPlugin.c
    M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c
    M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c
    M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c
    M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c
    M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c
    M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.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 src/vm/vmCallback.h
    M stacksrc/vm/gcc3x-interp.c
    M stacksrc/vm/interp.c
    M stacksrc/vm/vmCallback.h

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

Cogit: Revise deriving the varBaseAddress after finding on MacOS that the linker
may not "follow orders".  So take the minimum of several likely addresses,
secretly hoping the minimum is something like stackLimit, which likely has the
highest dynamic frequency (well done clang).

Eliminate ceEnterInterpreterOnReturnFromCogCode and have the
ceReturnToInterpreterTrampoline invoke interpret directly, using the same code
as ceInvokeInterpret.  Do this by moving the setMethod: send into interpret
from senders; setMethod: is key because it sets the bytecodeSetSelector to
enable multiple bytecode set support, but machine code is (and should remain)
ignorant of the details of bytecode set selection in compiled method headers.

cogitARMv8.c Add __ARM_ARCH >= 8 to cogit.c's ARMv8 identifying macros.

CoInterpreterMT: Get rid of vmOwnerLock; what a bogus idea.  Just use CAS on
vmOwner as God (DS) intended. Fix a bug in CoInterpreterMT>>wakeHighestPriority.
Refactor ABI callout marshalling on X64 to use the same CArg0Reg thru CArg3Reg
pattern as on ARMv8.  Make CPUID the first processor specific opcode on Intel.
Eliminate use of reenterInterpreter, this is StackInterpreter only now.

FilePlugin:
Add FilePlugin>>primitiveFileReadPinningAndDisowning, for file read in COGMTVM.
Use methodReturnInteger: rather than methodReturnValue: ... integerObjectOf::

Slang: generate neater code for pointer indirection.  Instead of indexing with
zero, dereference with *.  Eliminate a space in function type printing.