[Vm-dev] VM Maker: VMMaker.oscog-eem.1960.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Oct 13 22:25:55 UTC 2016


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1960.mcz

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

Name: VMMaker.oscog-eem.1960
Author: eem
Time: 13 October 2016, 3:24:35.154823 pm
UUID: fb5e58cd-1533-4f86-9184-84ef7efba782
Ancestors: VMMaker.oscog-eem.1959

Fix off-by-one error in the offset of the byte containing the "is full block method" flag in a CogBlockMethod.

=============== Diff against VMMaker.oscog-eem.1959 ===============

Item was changed:
  ----- Method: CogObjectRepresentationFor64BitSpur>>bitAndByteOffsetOfIsFullBlockBitInto: (in category 'in-line cacheing') -----
  bitAndByteOffsetOfIsFullBlockBitInto: aBlock
  	<inline: true>
  	"This supplies the bitmask for the isFullBlock bit, and the offset of the byte containing
  	 that bit in a CogMethod header to aBlock.  We don't have named variables holding this
+ 	 offset.  The following assert tests whether the values are correct by creating a surrogate
+ 	 on an empty ByteArray, setting the bit, and checking that the expected values are set
- 	 offset.  Th efollowing assert tsts whether the values are correct by creating a surrogate
- 	 on an empty ByteArray, setting the bit, and checking that the exopected values are set
  	 in the ByteArray."
  	self cCode: [] inSmalltalk:
  		[| m |
  		m := ByteArray new: 16.
  		CogBlockMethodSurrogate64 new
  			at: 0 memory: m headerSize: 8 cogit: nil;
  			cpicHasMNUCaseOrCMIsFullBlock: true.
  		self assert: m = #[0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0].
  		self assert: (m at: objectMemory baseHeaderSize + 2) = 16].
+ 	aBlock value: 16 value: objectMemory baseHeaderSize + 1 "zero-relative"!
- 	aBlock value: 16 value: objectMemory baseHeaderSize + 2!



More information about the Vm-dev mailing list