The Trunk: Kernel-eem.1131.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Kernel-eem.1131.mcz

commits-2
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!