[squeak-dev] The Trunk: Kernel-eem.1088.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Apr 6 06:40:57 UTC 2017


Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1088.mcz

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

Name: Kernel-eem.1088
Author: eem
Time: 5 April 2017, 11:40:44.087587 pm
UUID: 6e4c7ee7-23f2-4db0-93ff-ee8728d4231e
Ancestors: Kernel-eem.1087

Have the setter for the preferred bytecode set attempt to install a set if required and if possible.

=============== Diff against Kernel-eem.1087 ===============

Item was changed:
  ----- Method: CompiledCode class>>preferredBytecodeSetEncoderClass: (in category 'preferences') -----
+ preferredBytecodeSetEncoderClass: aBytecodeEncoderSubclass
+ 	"Set the class that determines the bytecode set used to compile methods with.
+ 			[| nPrimary nSecondary |
+ 			nPrimary := nSecondary := 0.
+ 			self allSubInstancesDo:
+ 				[:cm|
+ 				cm header >= 0
+ 					ifTrue: [nPrimary := nPrimary + 1]
+ 					ifFalse: [nSecondary := nSecondary + 1]].
+ 			{nPrimary. nSecondary}]"
+ 	| nPrimary nSecondary |
+ 	self assert: (aBytecodeEncoderSubclass includesBehavior: BytecodeEncoder).
+ 	(aBytecodeEncoderSubclass == PrimaryBytecodeSetEncoderClass
+ 	 or: [aBytecodeEncoderSubclass == SecondaryBytecodeSetEncoderClass]) ifTrue:
+ 		[PreferredBytecodeSetEncoderClass := aBytecodeEncoderSubclass.
+ 		 ^self].
+ 	nPrimary := nSecondary := 0.
+ 	self allSubInstancesDo:
+ 		[:cm|
+ 		 cm header >= 0
+ 			ifTrue: [nPrimary := nPrimary + 1]
+ 			ifFalse: [nSecondary := nSecondary + 1]].
+ 	nPrimary = 0 ifTrue:
+ 		[self installPrimaryBytecodeSet: aBytecodeEncoderSubclass.
+ 		 ^self preferredBytecodeSetEncoderClass: aBytecodeEncoderSubclass].
+ 	nSecondary = 0 ifTrue:
+ 		[self installSecondaryBytecodeSet: aBytecodeEncoderSubclass.
+ 		 ^self preferredBytecodeSetEncoderClass: aBytecodeEncoderSubclass].
+ 	self error: 'Cannot set preferred bytecode set.  Both of the current sets appear to be in use.'!
- preferredBytecodeSetEncoderClass: aClass
- 	"Set the class that determines the bytecoce set used to compile methods with."
- 	self assert: (aClass includesBehavior: BytecodeEncoder).
- 	PreferredBytecodeSetEncoderClass := aClass!



More information about the Squeak-dev mailing list