[squeak-dev] FFI: FFI-Pools-mt.14.mcz

commits at source.squeak.org commits at source.squeak.org
Wed May 27 09:11:21 UTC 2020


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.'!



More information about the Squeak-dev mailing list