[Pkg] FFI: FFI-Kernel-mt.199.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Aug 12 11:49:35 UTC 2021
Marcel Taeumel uploaded a new version of FFI-Kernel to project FFI:
http://source.squeak.org/FFI/FFI-Kernel-mt.199.mcz
==================== Summary ====================
Name: FFI-Kernel-mt.199
Author: mt
Time: 12 August 2021, 1:49:34.824908 pm
UUID: 87ed955e-5c3c-0f47-8924-03fe051d3b19
Ancestors: FFI-Kernel-mt.198
Fixes bug in ExternalData considering #byteSize for arrays of void* . Also fix VoidReadWriteSend to have 0 as #byteSize, just like 'ExternalType void' has.
=============== Diff against FFI-Kernel-mt.198 ===============
Item was changed:
----- Method: ExternalData>>byteSize (in category 'accessing') -----
byteSize
"Answer how many bytes the receiver manages."
| ct myBytes |
self isNull ifTrue: [^ 0].
self size ifNil: [^ nil "We don't know"].
myBytes := self size * (ct := self contentType) byteSize.
+
-
^ ct isPointerType
+ ifTrue: [
+ ct asNonPointerType isVoid ifTrue: [nil] ifFalse: [
+ "Locally managed pointers do not count. See ByteArray >> #isNull."
+ (handle isExternalAddress ifTrue: [myBytes] ifFalse: [0])
+ + (self reader collect: [:each | each byteSize]) sum ]]
- ifTrue: [ "Locally managed pointers do not ocunt. See ByteArray >> #isNull."
- (handle isExternalAddress ifTrue: [myBytes] ifFalse: [0])
- + (self reader collect: [:each | each byteSize]) sum ]
ifFalse: [ myBytes ]!
Item was changed:
----- Method: VoidReadWriteSend class>>fromType: (in category 'instance creation') -----
fromType: type
^ {
+ (self receiver: nil selector: #voidAt:) byteSize: type byteSize; yourself.
+ (self receiver: nil selector: #voidAt:put:) byteSize: type byteSize; yourself}!
- self receiver: nil selector: #voidAt:.
- self receiver: nil selector: #voidAt:put:}!
Item was removed:
- ----- Method: VoidReadWriteSend>>handle:atIndex: (in category 'evaluating') -----
- handle: handle atIndex: byteOffset
- "no accessors for void"
- self shouldNotImplement.!
Item was removed:
- ----- Method: VoidReadWriteSend>>handle:atIndex:put: (in category 'evaluating') -----
- handle: handle atIndex: byteOffset put: value
- "no accessors for void"
- self shouldNotImplement.!
Item was changed:
(PackageInfo named: 'FFI-Kernel') postscript: '"Reinitialize FFIAtomicReadWriteSend to use the new integer primitives"
+ ExternalType resetAllTypes...'!
- ExternalType resetAllAtomicTypes.'!
More information about the Packages
mailing list