Marcel Taeumel uploaded a new version of FFI-Pools to project FFI:
http://source.squeak.org/FFI/FFI-Pools-mt.14.mcz ==================== Summary ==================== Name: FFI-Pools-mt.14 Author: mt Time: 27 May 2020, 11:11:21.017317 am UUID: 707f3aa8-89ee-7842-b20b-e18309dcabad Ancestors: FFI-Pools-eem.13 Complements FFI-Kernel-mt.75. =============== Diff against FFI-Pools-eem.13 =============== Item was changed: ----- Method: FFIExternalSharedPool class>>defaultDefinition (in category 'accessing') ----- defaultDefinition + "all definitions inherit directly or indirectly from this one" - "all definitions inherit directly or indirectly form this one" ^ self definitionClass defaultFromClass: self! Item was added: + ----- Method: FFIExternalSharedPool class>>platformChangedFrom:to: (in category 'system startup') ----- + platformChangedFrom: lastPlatform to: currentPlatform + + self allExternalSharedPoolClassesDo: [:each | + each initializeFromGeneratedProgramOutputForPlatform: currentPlatform].! Item was changed: ----- Method: FFIExternalSharedPool class>>platformClass (in category 'defaults') ----- platformClass + ^ FFIPlatformDescription! - ^ FFIExternalSharedPoolPlatform! Item was removed: - ----- Method: FFIExternalSharedPool class>>startUp: (in category 'system startup') ----- - startUp: isResuming - isResuming - ifTrue: [| currentPlatform | - currentPlatform := self platformClass current. - self allExternalSharedPoolClassesDo: [:each | - each lastPlatform = currentPlatform - ifFalse: [ - each initializeFromGeneratedProgramOutputForPlatform: - currentPlatform]]] - ifFalse: [self initializeAllFromGeneratedProgramOutput]! Item was changed: ----- Method: FFIExternalSharedPoolDefinition class>>platformClass (in category 'defaults') ----- platformClass + ^ FFIPlatformDescription! - ^ FFIExternalSharedPoolPlatform! Item was removed: - Object subclass: #FFIExternalSharedPoolPlatform - instanceVariableNames: 'name osVersion subtype wordSize' - classVariableNames: '' - poolDictionaries: '' - category: 'FFI-Pools'! - - !FFIExternalSharedPoolPlatform commentStamp: 'monty 4/1/2018 12:02' prior: 0! - This class stores the platform information for an FFIExternalSharedPool and supports testing instances for platform compatibility and specificity.! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform class>>current (in category 'instance creation') ----- - current - ^ self - name: self currentName - osVersion: self currentOSVersion - subtype: self currentSubtype - wordSize: self currentWordSize! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform class>>currentName (in category 'accessing') ----- - currentName - "self currentName" - - ^ Smalltalk os platformName! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform class>>currentOSVersion (in category 'accessing') ----- - currentOSVersion - "self currentOSVersion" - - "'Smalltalk os version' and 'Smalltalk osVersion' are not portable to Pharo. - On Squeak: - Smalltalk osVersion = (Smalltalk getSystemAttribute: 1002) asString" - ^ (Smalltalk getSystemAttribute: 1002) asString! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform class>>currentSubtype (in category 'accessing') ----- - currentSubtype - "self currentSubtype" - - "'Smalltalk platformSubtype' is not portable to Pharo. - On Squeak: - Smalltalk platformSubtype = (Smalltalk getSystemAttribute: 1003) asString" - ^ (Smalltalk getSystemAttribute: 1003) asString! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform class>>currentWordSize (in category 'accessing') ----- - currentWordSize - "self currentWordSize" - - ^ Smalltalk wordSize! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform class>>empty (in category 'instance creation') ----- - empty - ^ self new! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform class>>isCurrentPlatformWindows (in category 'testing') ----- - isCurrentPlatformWindows - ^ self isWindowsPlatformName: self currentName! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform class>>isWindowsPlatformName: (in category 'private') ----- - isWindowsPlatformName: aPlatformName - ^ aPlatformName asLowercase beginsWith: 'win'! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform class>>name: (in category 'instance creation') ----- - name: aName - ^ self new name: aName! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform class>>name:osVersion: (in category 'instance creation') ----- - name: aName osVersion: anOSVersionString - ^ self new - name: aName; - osVersion: anOSVersionString! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform class>>name:osVersion:subtype: (in category 'instance creation') ----- - name: aName osVersion: anOSVersionString subtype: aSubtypeString - ^ self new - name: aName; - osVersion: anOSVersionString; - subtype: aSubtypeString! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform class>>name:osVersion:subtype:wordSize: (in category 'instance creation') ----- - name: aName osVersion: anOSVersionString subtype: aSubtypeString wordSize: aWordSize - ^ self new - name: aName; - osVersion: anOSVersionString; - subtype: aSubtypeString; - wordSize: aWordSize! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform class>>name:wordSize: (in category 'instance creation') ----- - name: aName wordSize: aWordSize - ^ self new - name: aName; - wordSize: aWordSize! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>= (in category 'comparing') ----- - = anObject - self == anObject - ifTrue: [^ true]. - - self species == anObject species - ifFalse: [^ false]. - - ^ self name = anObject name - and: [self osVersion = anObject osVersion - and: [self subtype = anObject subtype - and: [self wordSize = anObject wordSize]]].! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>hasName (in category 'testing') ----- - hasName - ^ self name notEmpty! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>hasOSVersion (in category 'testing') ----- - hasOSVersion - ^ self osVersion notEmpty! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>hasSubtype (in category 'testing') ----- - hasSubtype - ^ self subtype notEmpty! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>hasWordSize (in category 'testing') ----- - hasWordSize - ^ self wordSize notNil! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>hash (in category 'comparing') ----- - hash - ^ (((self species hash bitXor: - self name hash) bitXor: - self osVersion hash) bitXor: - self subtype hash) bitXor: - self wordSize hash! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>isCompatibleWith: (in category 'testing') ----- - isCompatibleWith: aPlatform - self == aPlatform - ifTrue: [^ true]. - - (self name = aPlatform name - or: [self hasName not - or: [aPlatform hasName not]]) - ifFalse: [^ false]. - - (self osVersion = aPlatform osVersion - or: [self hasOSVersion not - or: [aPlatform hasOSVersion not]]) - ifFalse: [^ false]. - - (self subtype = aPlatform subtype - or: [self hasSubtype not - or: [aPlatform hasSubtype not]]) - ifFalse: [^ false]. - - (self wordSize = aPlatform wordSize - or: [self hasWordSize not - or: [aPlatform hasWordSize not]]) - ifFalse: [^ false]. - - ^ true.! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>isMoreSpecificThan: (in category 'testing') ----- - isMoreSpecificThan: aPlatform - self == aPlatform - ifTrue: [^ false]. - - (self hasName - and: [aPlatform hasName not]) - ifTrue: [^ true]. - - (self hasOSVersion - and: [aPlatform hasOSVersion not]) - ifTrue: [^ true]. - - (self hasSubtype - and: [aPlatform hasSubtype not]) - ifTrue: [^ true]. - - (self hasWordSize - and: [aPlatform hasWordSize not]) - ifTrue: [^ true]. - - ^ false.! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>isWindows (in category 'testing') ----- - isWindows - ^ self class isWindowsPlatformName: self name! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>name (in category 'accessing') ----- - name - ^ name ifNil: [name := '']! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>name: (in category 'accessing') ----- - name: aName - name := aName! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>osVersion (in category 'accessing') ----- - osVersion - ^ osVersion ifNil: [osVersion := '']! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>osVersion: (in category 'accessing') ----- - osVersion: anOSVersionString - osVersion := anOSVersionString! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>printOn: (in category 'printing') ----- - printOn: aStream - self storeOn: aStream! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>storeOn: (in category 'printing') ----- - storeOn: aStream - aStream - nextPut: $(; - nextPutAll: self class name asString; - nextPutAll: ' name: '; - print: self name; - nextPutAll: ' osVersion: '; - print: self osVersion; - nextPutAll: ' subtype: '; - print: self subtype; - nextPutAll: ' wordSize: '; - print: self wordSize; - nextPut: $).! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>subtype (in category 'accessing') ----- - subtype - ^ subtype ifNil: [subtype := '']! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>subtype: (in category 'accessing') ----- - subtype: aSubtypeString - subtype := aSubtypeString! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>wordSize (in category 'accessing') ----- - wordSize - ^ wordSize! Item was removed: - ----- Method: FFIExternalSharedPoolPlatform>>wordSize: (in category 'accessing') ----- - wordSize: aWordSize - wordSize := aWordSize! Item was added: + (PackageInfo named: 'FFI-Pools') postscript: 'Smalltalk removeFromStartUpList: FFIExternalSharedPool.'! |
Free forum by Nabble | Edit this page |