Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 7724918b22bac8971eb16f3592d4853cc302d9e7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7724918b22bac8971eb... Author: Eliot Miranda eliot.miranda@gmail.com Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths: M src/plugins/FilePlugin/FilePlugin.c M src/plugins/FloatMathPlugin/FloatMathPlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64AppleFFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/RiscV64FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/spur32.cog.lowcode/cointerp.c M src/spur32.cog.lowcode/cointerp.h M src/spur32.cog.lowcode/gcc3x-cointerp.c M src/spur32.cog/cointerp.c M src/spur32.cog/cointerp.h M src/spur32.cog/cointerpmt.c M src/spur32.cog/cointerpmt.h M src/spur32.cog/gcc3x-cointerp.c M src/spur32.cog/gcc3x-cointerpmt.c M src/spur32.sista/cointerp.c M src/spur32.sista/cointerp.h M src/spur32.sista/gcc3x-cointerp.c M src/spur32.stack.lowcode/gcc3x-interp.c M src/spur32.stack.lowcode/interp.c M src/spur32.stack.lowcode/interp.h M src/spur32.stack/gcc3x-interp.c M src/spur32.stack/interp.c M src/spur32.stack/validImage.c M src/spur64.cog.lowcode/cointerp.c M src/spur64.cog.lowcode/cointerp.h M src/spur64.cog.lowcode/gcc3x-cointerp.c M src/spur64.cog.lowcode/interp.h M src/spur64.cog/cointerp.c M src/spur64.cog/cointerp.h M src/spur64.cog/cointerpmt.c M src/spur64.cog/cointerpmt.h M src/spur64.cog/gcc3x-cointerp.c M src/spur64.cog/gcc3x-cointerpmt.c M src/spur64.sista/cointerp.c M src/spur64.sista/cointerp.h M src/spur64.sista/gcc3x-cointerp.c M src/spur64.stack.lowcode/gcc3x-interp.c M src/spur64.stack.lowcode/interp.c M src/spur64.stack.lowcode/interp.h M src/spur64.stack/gcc3x-interp.c M src/spur64.stack/interp.c M src/spur64.stack/validImage.c M src/v3.cog/cointerp.c M src/v3.cog/cointerp.h M src/v3.cog/gcc3x-cointerp.c M src/v3.stack/gcc3x-interp.c M src/v3.stack/interp.c
Log Message: ----------- CogVM source as per VMMaker.oscog-eem.3374
Slang: Enhance TParseNode comparison (isSameAs:) with relative label comparison, mapping label values to abstract values using a comparison context object, and passing it as the extra argument to isSameAs:within:.
Use this to simplify and improve the horribly hacky duplicate detection in the main interpreter loop. This saves nearly 2k lines (almost 3%) of the code from the Spur multiple bytecode set stack interpreter.
Have Slang prune cCode: nil inSmalltalk: as it does for cCode: [] & cCode: ''.
Cleanups: arrayFormat is better as a macro. shouldBeTenured: must use oop:isLessThan: instead of <. Eliminate unnecessary newSpace enumerations in the firstInstance/nextInstance implementation. Fix an assert due to recompilation (shape change) in divorceFramesIn:. Eliminate some dead code in the LargeIntegersPlugin and the Cogit.
Fix a silly bug in primitiveShowDisplayRect, which checked for argument marcshalling failure *after* using the parameters!!
More concise implementation of FloatMathPlugin>>#primitiveLog10.
A better fix to the non-inlining of isAlien: in assert: is not to mark isAlien: as <inline: #always> but <inline: true>.
A couple of methods should use objectMemory displayObject rather than access TheDisplay directly.
To unsubscribe from these emails, change your notification settings at https://github.com/OpenSmalltalk/opensmalltalk-vm/settings/notifications
vm-dev@lists.squeakfoundation.org