[squeak-dev] The Inbox: System-cmm.1044.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Nov 16 23:53:43 UTC 2018


Chris Muller uploaded a new version of System to project The Inbox:
http://source.squeak.org/inbox/System-cmm.1044.mcz

==================== Summary ====================

Name: System-cmm.1044
Author: cmm
Time: 16 November 2018, 5:53:02.580292 pm
UUID: 3b9fe1d6-6eed-468f-91d7-e26350c972f6
Ancestors: System-pre.1043

Utility methods for determining how much RAM is used, and how much is available to the running image.

=============== Diff against System-pre.1043 ===============

Item was added:
+ ----- Method: SmalltalkImage>>bitsPerWord (in category 'system attributes') -----
+ bitsPerWord
+ 	^ self wordSize * 8!

Item was added:
+ ----- Method: SmalltalkImage>>defaultMaxMemory (in category 'memory space') -----
+ defaultMaxMemory
+ 	"Images can be up to 1GB (512MB on Windows) when the -memory parameter is not specified."
+ 	^ self isRunningSpur
+ 		ifTrue:
+ 			[ self is64Bit
+ 				ifTrue: [ 15000000000 ]
+ 				ifFalse: [ 3800000000 ] ]
+ 		ifFalse:
+ 			[ Smalltalk platformName = 'Win32'
+ 				ifTrue: [ 500000000 ]
+ 				ifFalse: [ 1000000000 ] ]!

Item was added:
+ ----- Method: SmalltalkImage>>is32Bit (in category 'system attributes') -----
+ is32Bit
+ 	^self bitsPerWord = 32!

Item was added:
+ ----- Method: SmalltalkImage>>is64Bit (in category 'system attributes') -----
+ is64Bit
+ 	^self bitsPerWord = 64!

Item was added:
+ ----- Method: SmalltalkImage>>maxMemory (in category 'memory space') -----
+ maxMemory
+ 	"If the special argument to the vm, -memory, was provided, use the number following it, otherwise the default maximum available based on the image / vm type."
+ 	| foundMemoryArg |
+ 	foundMemoryArg := false.
+ 	self optionsDo: 
+ 		[ : each | 
+ 		(#('-memory' '-mmap') includes: each)
+ 			ifTrue: [ foundMemoryArg := true ]
+ 			ifFalse: 
+ 				[ foundMemoryArg ifTrue: 
+ 					[ | arg |
+ 					arg := each.
+ 					(arg isEmptyOrNil or: [ arg size < 2 ]) ifFalse: 
+ 						[ | requestedMemory |
+ 						requestedMemory := (arg 
+ 							copyFrom: 1
+ 							to: arg size - 1) asNumber.
+ 						requestedMemory > 0 ifTrue: 
+ 							[ arg last = $k 
+ 								ifTrue: [ ^ 1000 * requestedMemory min: self defaultMaxMemory ]
+ 								ifFalse: [ arg last = $m ifTrue: [ ^ 1000000 * requestedMemory min: self defaultMaxMemory ] ] ] ] ] ] ].
+ 	^ self defaultMaxMemory!

Item was added:
+ ----- Method: SmalltalkImage>>memoryAvailable (in category 'memory space') -----
+ memoryAvailable
+ 	"Answer the remaining memory available accessible by this image."
+ 	^ self maxMemory - self memoryUsed!

Item was added:
+ ----- Method: SmalltalkImage>>memoryUsed (in category 'memory space') -----
+ memoryUsed
+ 	^ self vmParameterAt: 3!



More information about the Squeak-dev mailing list