Branch: refs/heads/virtend Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: bc49ac6581ea1621e9820127f6a00328c180a80b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bc49ac6581ea1621e98... Author: Eliot Miranda eliot.miranda@gmail.com Date: 2023-02-21 (Tue, 21 Feb 2023)
Changed paths: M platforms/iOS/plugins/CameraPlugin/AVFoundationVideoGrabber.m
Log Message: ----------- Oops! the ErrorCode parameter for the CameraPlugin is not needed/should not be implemented (on macos).
Commit: 885b07470d762993a290888eabc847354eb16289 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/885b07470d762993a29... Author: Eliot Miranda eliot.miranda@gmail.com Date: 2023-02-22 (Wed, 22 Feb 2023)
Changed paths: M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/spur32.cog.lowcode/cogit.h M src/spur32.cog.lowcode/cogitARMv5.c M src/spur32.cog.lowcode/cogitIA32.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/cogit.h M src/spur32.cog/cogitARMv5.c M src/spur32.cog/cogitIA32.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/cogit.h M src/spur32.sista/cogitARMv5.c M src/spur32.sista/cogitIA32.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/gcc3x-interp.c M src/spur32.stack/interp.c M src/spur32.stack/validImage.c M src/spur64.cog.lowcode/cogit.h M src/spur64.cog.lowcode/cogitARMv8.c M src/spur64.cog.lowcode/cogitX64SysV.c M src/spur64.cog.lowcode/cogitX64WIN64.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/cogit.h M src/spur64.cog/cogitARMv8.c M src/spur64.cog/cogitX64SysV.c M src/spur64.cog/cogitX64WIN64.c 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/cogit.h M src/spur64.sista/cogitARMv8.c M src/spur64.sista/cogitX64SysV.c M src/spur64.sista/cogitX64WIN64.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/gcc3x-interp.c M src/spur64.stack/interp.c M src/spur64.stack/validImage.c M src/v3.cog/cogit.h M src/v3.cog/cogitARMv5.c M src/v3.cog/cogitIA32.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.3307/VMConstruction-Plugins-OSProcessPlugin.oscog-eem.76
Implement a machine code primitive for primitiveHighResClock on 64-bit platforms. This is faster than the fast-call interpreter primitive by 15% on x86_64 and by 480% on ARMv8 (Apple M1).
Have compilePrimitive use methodOrBlockNumArgs rather than argumentCountOf: methodObj.
Fix the type of semaIndices. This should be int. unsigned char risks corruption if there are more than 256 external semaphores, which could be the case in a very complex application. Fix a few sends of stackIntegerValue: that were not followed by the obligatory interpreterProxy failed check. I lost patience/time, but this really should be done. In all VMs, proceeding after a primitive has failed without checking for primitive failure can have disastrous effects (arguments are popped off the stack that shouldn't be).
Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/9ac04b3eab5d...885...
vm-dev@lists.squeakfoundation.org