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

commits at source.squeak.org commits at source.squeak.org
Fri Dec 15 20:54:45 UTC 2017


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

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

Name: Kernel-eem.1131
Author: eem
Time: 15 December 2017, 12:54:29.762591 pm
UUID: abc9b3f5-c437-49fd-ac81-a04779514f5b
Ancestors: Kernel-eem.1130

PC mapping on loading different word size segments needs to differentiate between BlockClosure and FullBlockClosure.

Fix some typos in Float>>basicAt:[put:]

=============== Diff against Kernel-eem.1130 ===============

Item was added:
+ ----- Method: BlockClosure>>isFullBlock (in category 'testing') -----
+ isFullBlock
+ 	^false!

Item was changed:
  ----- Method: Float>>basicAt: (in category 'accessing') -----
  basicAt: index
  	"Primitive. Assumes receiver is indexable. Answer the value of an 
  	indexable element in the receiver. Fail if the argument index is not an 
  	Integer or is out of bounds. Essential. Do not override in a subclass. See 
  	Object documentation whatIsAPrimitive.
  
  	This version of basicAt: is specifically for floats, answering the most significant
+ 	word for index 1 and the least significant word for index 2.  This allows the VM
- 	word for index 1 and the least significant word for index 2.  This alows the VM
  	to store floats in whatever order it chooses while it appears to the image that
  	they are always in big-endian/PowerPC order."
  
  	<primitive: 38 error: ec>
+ 	ec ifNil: "primitive not implemented; floats are in big-endian/PowerPC order."
- 	ec == nil ifTrue: "primitive not implemented; floats are in big-endian/PowerPC order."
  		[^super basicAt: index].
  	index isInteger ifTrue: [self errorSubscriptBounds: index].
  	index isNumber
  		ifTrue: [^self basicAt: index asInteger]
  		ifFalse: [self errorNonIntegerIndex]!

Item was changed:
  ----- Method: Float>>basicAt:put: (in category 'accessing') -----
  basicAt: index put: value
  	"Primitive. Assumes receiver is indexable. Store the second argument 
  	value in the indexable element of the receiver indicated by index. Fail 
  	if the index is not an Integer or is out of bounds. Or fail if the value is 
  	not of the right type for this kind of collection. Answer the value that 
  	was stored. Essential. Do not override in a subclass. See Object 
  	documentation whatIsAPrimitive.
  
  	This version of basicAt: is specifically for floats, answering the most significant
+ 	word for index 1 and the least significant word for index 2.  This allows the VM
- 	word for index 1 and the least significant word for index 2.  This alows the VM
  	to store floats in whatever order it chooses while it appears to the image that
  	they are always in big-endian/PowerPC order."
  
  	<primitive: 39 error: ec>
+ 	ec ifNil: "primitive not implemented; floats are in big-endian/PowerPC order."
- 	ec == nil ifTrue: "primitive not implemented; floats are in big-endian/PowerPC order."
  		[^super basicAt: index put: value].
  	index isInteger
  		ifTrue: [(index >= 1 and: [index <= self size])
  					ifTrue: [self errorImproperStore]
  					ifFalse: [self errorSubscriptBounds: index]].
  	index isNumber
  		ifTrue: [^self basicAt: index asInteger put: value]
  		ifFalse: [self errorNonIntegerIndex]!

Item was added:
+ ----- Method: FullBlockClosure>>isFullBlock (in category 'testing') -----
+ isFullBlock
+ 	^true!



More information about the Squeak-dev mailing list