Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 40ddfcebaf2a75c6fc7e266145917ee99a2e60e3
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/40ddfcebaf2a75c6fc…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2022-11-04 (Fri, 04 Nov 2022)
Changed paths:
M platforms/win32/plugins/DropPlugin/sqWin32Drop.c
M scripts/findUnofficialFiles
M src/plugins/DESPlugin/DESPlugin.c
M src/plugins/DSAPrims/DSAPrims.c
M src/plugins/MD5Plugin/MD5Plugin.c
M src/plugins/SHA2Plugin/SHA2Plugin.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/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
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.3263
Fix a crash on ARMv8 when toggling fail/succeed primitives for mixed mode arithmetic.
Improve dead code elimination, in particular for empty cppIf: constructs (i.e. ensureExecutableCodeZone in non-ARMv8 contexts).
Fix a mistake in Cogit class>>defineAtCompileTime: which mistakenly assumed COGMTVM & Debug are defined at translation time.
Make sure SpurMemoryManager class>>initializeWithOptions: defines SPURVM.
Fix some comment typos.
Tydy sqWin32Drop.c and make findUnofficialFiles more robust.
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3262.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.3262
Author: eem
Time: 4 November 2022, 5:00:26.932232 pm
UUID: eb9e0f35-dee3-41a5-9665-becc970c383a
Ancestors: VMMaker.oscog-mt.3261
Fix a crash on ARMv8 when toggling fail/succeed primitives for mixed mode arithmetic.
Fix some comment typos.
=============== Diff against VMMaker.oscog-mt.3261 ===============
Item was changed:
----- Method: CCodeGenerator>>ifStaticallyResolvedPolymorphicReceiverThenUpdateSelectorIn: (in category 'public') -----
ifStaticallyResolvedPolymorphicReceiverThenUpdateSelectorIn: aSendNode
+ "We allow a limited amount of polymorphism; if a class chooses, its selectors can be
- "We allow a limited amount of polymorphism; if a class chooses, its selectoers can be
prefixed with a given string to disambiguate. This hack allows us to use two different
compaction algorithms with the same API at the same time; the selection being done
by a class which holds the flag stating which algorithm is in effect at the current time."
| class |
staticallyResolvedPolymorphicReceivers ifNil: [^self].
aSendNode receiver isVariable ifFalse:
[^self].
class := staticallyResolvedPolymorphicReceivers
at: aSendNode receiver name
ifAbsent: [^self].
aSendNode selector: (class staticallyResolvePolymorphicSelector: aSendNode selector)!
Item was changed:
----- Method: CCodeGenerator>>staticallyResolveMethodNamed:forClass:to: (in category 'public') -----
staticallyResolveMethodNamed: selector forClass: aClass to: staticallyResolvedSelector
+ "We allow a limited amount of polymorphism; if a class chooses, its selectors can be
- "We allow a limited amount of polymorphism; if a class chooses, its selectoers can be
prefixed with a given string to disambiguate. This hack allows us to use two different
compaction algorithms with the same API at the same time; the selection being done
by a class which holds the flag stating which algorithm is in effect at the current time."
| method |
method := methods
removeKey: selector
ifAbsent:
[self logger cr; nextPutAll: 'warning: did not find ', selector, ' to be able to map to ', staticallyResolvedSelector.
^self].
method selector: staticallyResolvedSelector.
methods at: staticallyResolvedSelector put: method!
Item was changed:
----- Method: CCodeGenerator>>staticallyResolvedPolymorphicReceiver:to: (in category 'public') -----
staticallyResolvedPolymorphicReceiver: variableName to: aClass
+ "We allow a limited amount of polymorphism; if a class chooses, its selectors can be
- "We allow a limited amount of polymorphism; if a class chooses, its selectoers can be
prefixed with a given string to disambiguate. This hack allows us to use two different
compaction algorithms with the same API at the same time; the selection being done
by a class which holds the flag stating which algorithm is in effect at the current time."
(staticallyResolvedPolymorphicReceivers ifNil: [staticallyResolvedPolymorphicReceivers := Dictionary new])
at: variableName
put: aClass!
Item was changed:
----- Method: Cogit>>unlinkSendsToMethodsSuchThat:AndFreeIf: (in category 'jit - api') -----
unlinkSendsToMethodsSuchThat: criterion AndFreeIf: freeIfTrue
<api>
"Unlink all sends in cog methods to methods with a machine code
primitive, and free machine code primitive methods if freeIfTrue.
To avoid having to scan PICs, free any and all PICs"
<var: 'criterion' declareC: 'sqInt (*criterion)(CogMethod *)'>
| cogMethod freedSomething |
<var: #cogMethod type: #'CogMethod *'>
methodZoneBase ifNil: [^self].
self cCode: nil inSmalltalk: [debugAPISelector := nil].
codeModified := freedSomething := false.
cogMethod := self cCoerceSimple: methodZoneBase to: #'CogMethod *'.
[cogMethod < methodZone limitZony] whileTrue:
[cogMethod cmType = CMMethod
ifTrue:
[(freeIfTrue
and: [self perform: criterion with: cogMethod])
ifTrue:
[methodZone freeMethod: cogMethod.
freedSomething := true]
ifFalse:
[self mapFor: cogMethod
performUntil: #unlinkIfLinkedSend:pc:if:
arg: criterion]]
ifFalse:
[cogMethod cmType = CMClosedPIC ifTrue:
[methodZone freeMethod: cogMethod.
freedSomething := true]].
cogMethod := methodZone methodAfter: cogMethod].
freedSomething
ifTrue: [self unlinkSendsToFree]
ifFalse:
[codeModified ifTrue: "After possibly updating inline caches we need to flush the icache."
+ [backEnd flushICacheFrom: methodZoneBase asUnsignedInteger to: methodZone freeStart]].
+ self ensureExecutableCodeZone!
- [backEnd flushICacheFrom: methodZoneBase asUnsignedInteger to: methodZone freeStart]]!
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 2fa2db74b444a8df85afe44fe9ca997490884725
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2fa2db74b444a8df85…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2022-11-04 (Fri, 04 Nov 2022)
Changed paths:
M platforms/win32/plugins/ClipboardExtendedPlugin/sqWin32ExtendedClipboard.c
Log Message:
-----------
Reverse scan lines to convert to top-down to bottom-up bitmaps on exporting
DIB & DIBV5 bitmaps to the clipboard.
Branch: refs/heads/virtend
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 40612ee81b2bc5a28cabdabe92d4c15f1d58523d
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/40612ee81b2bc5a28c…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2022-11-04 (Fri, 04 Nov 2022)
Changed paths:
M platforms/win32/plugins/ClipboardExtendedPlugin/sqWin32ExtendedClipboard.c
Log Message:
-----------
Reverse scan lines to convert to top-down to bottom-up bitmaps on exporting
DIB & DIBV5 bitmaps to the clipboard.
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 661fe92df65d394722498733c4d71e14939e7193
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/661fe92df65d394722…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2022-11-03 (Thu, 03 Nov 2022)
Changed paths:
M platforms/win32/plugins/ClipboardExtendedPlugin/sqWin32ExtendedClipboard.c
Log Message:
-----------
Reverse scan lines to convert bottom-up bitmaps to top-down bitmaps on importing
DIB & DIBV5 bitmaps from the clipboard.
Commit: 8cee0a56e6e844cf8618bf69ea363f3acee4f22d
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8cee0a56e6e844cf86…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2022-11-03 (Thu, 03 Nov 2022)
Changed paths:
M cmake/Zlib.cmake
M platforms/unix/vm/sqUnixMain.c
M platforms/win32/plugins/DropPlugin/sqWin32Drop.c
M platforms/win32/plugins/FileDialogPlugin/sqWin32FileDialog.c
M platforms/win32/vm/sqWin32Main.c
M src/plugins/Squeak3D/Squeak3D.c
M src/spur32.cog.lowcode/cogitARMv5.c
M src/spur32.cog.lowcode/cogitIA32.c
M src/spur32.cog.newspeak/cogit.h
M src/spur32.cog.newspeak/cogitARMv5.c
M src/spur32.cog.newspeak/cogitIA32.c
M src/spur32.cog.newspeak/cointerp.c
M src/spur32.cog.newspeak/cointerp.h
M src/spur32.cog.newspeak/gcc3x-cointerp.c
M src/spur32.cog/cogitARMv5.c
M src/spur32.cog/cogitIA32.c
M src/spur32.sista/cogitARMv5.c
M src/spur32.sista/cogitIA32.c
M src/spur32.stack.newspeak/gcc3x-interp.c
M src/spur32.stack.newspeak/interp.c
M src/spur32.stack/gcc3x-interp.c
M src/spur32.stack/interp.c
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.newspeak/cogit.h
M src/spur64.cog.newspeak/cogitARMv8.c
M src/spur64.cog.newspeak/cogitX64SysV.c
M src/spur64.cog.newspeak/cogitX64WIN64.c
M src/spur64.cog.newspeak/cointerp.c
M src/spur64.cog.newspeak/cointerp.h
M src/spur64.cog.newspeak/gcc3x-cointerp.c
M src/spur64.cog/cogitARMv8.c
M src/spur64.cog/cogitX64SysV.c
M src/spur64.cog/cogitX64WIN64.c
M src/spur64.sista/cogitARMv8.c
M src/spur64.sista/cogitX64SysV.c
M src/spur64.sista/cogitX64WIN64.c
M src/spur64.stack.newspeak/gcc3x-interp.c
M src/spur64.stack.newspeak/interp.c
M src/spur64.stack/gcc3x-interp.c
M src/spur64.stack/interp.c
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
M third-party/zlib.spec
Log Message:
-----------
Merge branch 'Cog' of github.com:OpenSmalltalk/opensmalltalk-vm into Cog
Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/2d41759b91c6...8c…
Branch: refs/heads/virtend
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 1e74644321af5ab92889608761af3ec2d9ebeced
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1e74644321af5ab928…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2022-10-27 (Thu, 27 Oct 2022)
Changed paths:
M platforms/iOS/plugins/ClipboardExtendedPlugin/sqMacExtendedClipboard.m
A platforms/win32/plugins/ClipboardExtendedPlugin/Makefile.msvc
A platforms/win32/plugins/ClipboardExtendedPlugin/sqWin32ExtendedClipboard.c
M src/plugins/ClipboardExtendedPlugin/ClipboardExtendedPlugin.c
Log Message:
-----------
Fixing a merge conflict for a cherry-pick for the ClipbardExtendedPlugin.
Add win32 support for the ClipboardExtendedPlugin.
Commit: 0ae30c02a096d3d9f91c7f4281df31d45c94422b
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0ae30c02a096d3d9f9…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2022-11-03 (Thu, 03 Nov 2022)
Changed paths:
M platforms/win32/plugins/ClipboardExtendedPlugin/sqWin32ExtendedClipboard.c
Log Message:
-----------
Reverse scan lines to convert bottom-up bitmaps to top-down bitmaps on importing
DIB & DIBV5 bitmaps from the clipboard.
Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/2431b7d7cb72...0a…