Jan Vrany <jan.vrany@labware.com> [Thu, 09 Jul 2020 20:20:20 +0100] rev 25395
Backed out changeset c52eeea62763
Jan Vrany <jan.vrany@labware.com> [Tue, 23 Jun 2020 11:35:40 +0100] rev 25394
FFI: do not handle "const" return values specially
It is unclear what this special handling was / is good for.
However, if one wants something along these lines, one can
always override `#fromExternalAddress:` and perform custom
logic there.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 23 Jun 2020 07:44:43 +0000] rev 25393
FFI: do not define `CALLTYPE_FFI_UNIX64` on i686 machines
...since it is not defined there. This fixes compilation issue
on i686 when using libffi (which is now default on all platforms)
Jan Vrany <jan.vrany@labware.com> [Mon, 15 Jun 2020 11:33:35 +0100] rev 25392
Fix `Context >> argAndVarNames` in cases when debug info is not available
Jan Vrany <jan.vrany@labware.com> [Mon, 22 Jun 2020 23:57:33 +0100] rev 25391
FFI: refactor creation of return value from FFI call-outs.
To allow customized creation / initialization of ExternalAddress
subclasses, FFI machinery now falls `SomeClass fromExternalAddress:`
when FFI call-out is specified to return an instance of `SomeClass`.
This way, user (sub)classes may override `#fromExternalAddress:` and
perform custom logic.
Jan Vrany <jan.vrany@labware.com> [Thu, 04 Jun 2020 10:28:29 +0100] rev 25390
FFI: properly convert signed/unsigned integer return values to smalltalk integers
The code converting integer return value did not care properly for all
integer types and for signedness, causing `int` return type to return
(positive) 0xffffffff value instead of -1.
This commit fixes the problem by properly defining return union members
for all supported bitwidths and signedness and by proper type conversion
using cast operator when passing narrower values to `__MKINT()` and
`__MKUINT()`.
However, the FFI code should be revisited and cleaned up anyway.
Jan Vrany <jan.vrany@labware.com> [Tue, 02 Jun 2020 10:33:57 +0100] rev 25389
Add `CharacterArray >> findString:startingAt:caseSensitive:`
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 25 May 2020 12:32:32 +0100] rev 25388
Add `StringCollection >> asCollectionOfWords`
...to make it somewhat polymorphic with String.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 25 May 2020 11:29:05 +0100] rev 25387
Fix `Class >> #validateSourceStream:` w.r.t. classes loaded from source
Classes loaded from source have no binary checksum so checksum test
would fail. Current code was a bit defensive, assuming the source
stream is NOT valid if there's no valid binary checksum, causing
`#validateSourceStream:` to fail for source-loaded classes.
This commit fixes this by checking if it's really source-loaded
(i.e., no method is compiled) and in such case, return `true`.
This check will be removed later once this proves to work fine.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 23 May 2020 13:16:39 +0100] rev 25386
Merge