[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