Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 5a9222cd164d368885105edb95c7a29eab08081c
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5a9222cd164d368885…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2022-11-08 (Tue, 08 Nov 2022)
Changed paths:
M src/plugins/ClipboardExtendedPlugin/ClipboardExtendedPlugin.c
M src/plugins/GeniePlugin/GeniePlugin.c
M src/plugins/ImmX11Plugin/ImmX11Plugin.c
M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c
M src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c
M src/plugins/LocalePlugin/LocalePlugin.c
M src/plugins/SocketPlugin/SocketPlugin.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/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/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.3275
Transform better expressions returning integers, floats or booleans
in SmartSyntaxInterpreterPlugin methods.
Fix an old bug in isBinaryArithmeticOrConditional that is failing to
spot effect-free code.
Have TSendNode>>hasEffect answer false for sizeof:.
Use sizeof: directly in JPEGReadWriter2Plugin to get less junk code.
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3275.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.3275
Author: eem
Time: 8 November 2022, 10:18:41.590469 pm
UUID: 86b52edc-43a4-467b-9f26-1eec38a0726b
Ancestors: VMMaker.oscog-eem.3274
...and fix a regression now that the code generator defers to vmClass to determine a stack accessor (so Cogit class has to implement the method also).
=============== Diff against VMMaker.oscog-eem.3274 ===============
Item was added:
+ ----- Method: Cogit class>>isStackAccessor: (in category 'spur primitive compilation') -----
+ isStackAccessor: selector
+ ^CoInterpreter isStackAccessor: selector!
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3272.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.3272
Author: eem
Time: 8 November 2022, 6:18:42.856696 pm
UUID: ca692078-9694-4a01-8119-7a560f9060f4
Ancestors: VMMaker.oscog-eem.3271
Fix extreme optimism in resultExpressionCanFail:. The comversion may not fail, but the thing it is applied to can fail. Hence if the receiver hasEffect we have to allow for potential failure. Alas the fixup is done before inlining, which may result in an expression being foind not to have an effect (e.g. JPEGReadWriter2Plugin>>#compressStructSize) but that's the way the cookie crumbles.
Hence write ioHasClipboardData:inFormat: in a more natural form.
=============== Diff against VMMaker.oscog-eem.3271 ===============
Item was changed:
----- Method: ClipboardExtendedPlugin>>ioHasClipboardData:inFormat: (in category 'io') -----
ioHasClipboardData: clipboard inFormat: format
- | hasFormat |
self primitive: 'ioHasClipboardDataInFormat' parameters: #(Unsigned Oop).
(interpreterProxy isIntegerObject: format) ifTrue:
+ [^(self
+ sqPasteboard: clipboard asVoidPointer
+ hasDataInFormat: (interpreterProxy integerValueOf: format)) asBooleanObj].
- [hasFormat := self
- sqPasteboard: clipboard asVoidPointer
- hasDataInFormat: (interpreterProxy integerValueOf: format).
- interpreterProxy failed ifFalse:
- [^hasFormat asBooleanObj]].
(interpreterProxy isBytes: format) ifTrue:
+ [^(self
+ sqPasteboard: clipboard asVoidPointer
+ hasDataInFormat: (interpreterProxy firstIndexableField: format)
+ formatLength: (interpreterProxy byteSizeOf: format)) asBooleanObj].
- [hasFormat := self
- sqPasteboard: clipboard asVoidPointer
- hasDataInFormat: (interpreterProxy firstIndexableField: format)
- formatLength: (interpreterProxy byteSizeOf: format).
- interpreterProxy failed ifFalse:
- [^hasFormat asBooleanObj]].
interpreterProxy primitiveFailFor: PrimErrBadArgument!
Item was changed:
----- Method: SmartSyntaxPluginTMethod>>resultExpressionCanFail: (in category 'private') -----
resultExpressionCanFail: aTParseNode
"Neither asSmallIntegerObj nor asBooleanObj nor asPositiveIntegerObj can fail.
asPositiveIntegerObj maps to positive32BitIntegerFor: which uses
eeInstantiateSmallClassIndex:format:numSlots: which does not GC and does not fail."
aTParseNode isSend ifFalse:
[^true].
(#(asSmallIntegerObj asPositiveIntegerObj asBooleanObj nilObject trueObject falseObject) includes: aTParseNode selector) ifTrue:
+ [^aTParseNode receiver hasEffect].
- [^false].
(aTParseNode selector == #asOop:
and: [aTParseNode args first isVariable
and: [#('SmallInteger' 'Boolean') includes: aTParseNode args first name]]) ifTrue:
+ [^aTParseNode receiver hasEffect].
- [^false].
^true!
Branch: refs/heads/virtend
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 1f47282c979197a3f413f04f26268808d46e0b7d
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1f47282c979197a3f4…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2022-11-08 (Tue, 08 Nov 2022)
Changed paths:
M platforms/iOS/plugins/ClipboardExtendedPlugin/sqMacExtendedClipboard.h
M platforms/iOS/plugins/ClipboardExtendedPlugin/sqMacExtendedClipboard.m
M platforms/win32/plugins/ClipboardExtendedPlugin/sqWin32ExtendedClipboard.c
M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c
M src/plugins/ClipboardExtendedPlugin/ClipboardExtendedPlugin.c
M src/plugins/GeniePlugin/GeniePlugin.c
M src/plugins/ImmX11Plugin/ImmX11Plugin.c
M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c
M src/plugins/LargeIntegers/LargeIntegers.c
M src/plugins/LocalePlugin/LocalePlugin.c
M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c
M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c
M src/plugins/QuicktimePlugin/QuicktimePlugin.c
M src/plugins/SerialPlugin/SerialPlugin.c
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.3270
Do a better job eliminating redundant failed checks in
SmartSyntaxInterpreterPlugin methods.
Add a more convenient typer interrogator for the ClipboardExtendedPlugin
(implementation to follow).
Commit: 01a2a6411ff5759f6e500897ce440d2643d62b0f
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/01a2a6411ff5759f6e…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2022-11-08 (Tue, 08 Nov 2022)
Changed paths:
M platforms/iOS/plugins/ClipboardExtendedPlugin/sqMacExtendedClipboard.m
M platforms/win32/plugins/ClipboardExtendedPlugin/sqWin32ExtendedClipboard.c
M src/plugins/ClipboardExtendedPlugin/ClipboardExtendedPlugin.c
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.3271
Implement ioHasClipboardData:inFormat: for macOS & WIndows.
Either of the two flavours of ioHasClipboardData:inFormat: may fail
(be unimplemented).
Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/a4cea472355e...01…
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: e9b9a133cc9856e465ef9f0f4607d28d98e53be8
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e9b9a133cc9856e465…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2022-11-08 (Tue, 08 Nov 2022)
Changed paths:
M platforms/iOS/plugins/ClipboardExtendedPlugin/sqMacExtendedClipboard.m
M platforms/win32/plugins/ClipboardExtendedPlugin/sqWin32ExtendedClipboard.c
M src/plugins/ClipboardExtendedPlugin/ClipboardExtendedPlugin.c
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.3271
Implement ioHasClipboardData:inFormat: for macOS & WIndows.
Either of the two flavours of ioHasClipboardData:inFormat: may fail
(be unimplemented).
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 5b3fb723997dad9f15c5c79e1879bbfbe2dd5c08
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5b3fb723997dad9f15…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2022-11-08 (Tue, 08 Nov 2022)
Changed paths:
M platforms/iOS/plugins/ClipboardExtendedPlugin/sqMacExtendedClipboard.h
M platforms/iOS/plugins/ClipboardExtendedPlugin/sqMacExtendedClipboard.m
M platforms/win32/plugins/ClipboardExtendedPlugin/sqWin32ExtendedClipboard.c
M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c
M src/plugins/ClipboardExtendedPlugin/ClipboardExtendedPlugin.c
M src/plugins/GeniePlugin/GeniePlugin.c
M src/plugins/ImmX11Plugin/ImmX11Plugin.c
M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c
M src/plugins/LargeIntegers/LargeIntegers.c
M src/plugins/LocalePlugin/LocalePlugin.c
M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c
M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c
M src/plugins/QuicktimePlugin/QuicktimePlugin.c
M src/plugins/SerialPlugin/SerialPlugin.c
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.3270
Do a better job eliminating redundant failed checks in
SmartSyntaxInterpreterPlugin methods.
Add a more convenient typer interrogator for the ClipboardExtendedPlugin
(implementation to follow).