On Fri, Jan 23, 2015 at 12:42:03AM +0000, commits@source.squeak.org wrote:
Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1026.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1026 Author: eem Time: 22 January 2015, 4:41:41.71 pm UUID: 58161d66-0b23-4356-89f1-8e951fd1a1d9 Ancestors: VMMaker.oscog-eem.1025
Fix type regression in primitiveBitShift due to 64-bits.
Is there a new issue here? As far as I know, this primitive has been working properly for all combinations of 32/64 bit host and image for quite a while. Is this something new related to the extended range of small integers on Spur? Just curious.
Dave
Hi David,
On Thu, Jan 22, 2015 at 5:48 PM, David T. Lewis lewis@mail.msen.com wrote:
On Fri, Jan 23, 2015 at 12:42:03AM +0000, commits@source.squeak.org wrote:
Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1026.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1026 Author: eem Time: 22 January 2015, 4:41:41.71 pm UUID: 58161d66-0b23-4356-89f1-8e951fd1a1d9 Ancestors: VMMaker.oscog-eem.1025
Fix type regression in primitiveBitShift due to 64-bits.
Is there a new issue here? As far as I know, this primitive has been working properly for all combinations of 32/64 bit host and image for quite a while. Is this something new related to the extended range of small integers on Spur? Just curious.
Yes, this is a new issue. I rewrote the primitive so that it worked with
Spur 61-bit SmallIntegers, hence I replaced
integerReceiver := self popPos32BitInteger.
with objectMemory wordSize = 4 ifTrue: [integerReceiver := self positive32BitValueOf: integerReceiver] ifFalse: [integerReceiver := self signed64BitValueOf: integerReceiver].
and in the Cog VMMaker that changed the type computed for integerReceiver. I just added a declaration to override the type inferencer. So it's a new issue, and Cog branch only.
On Fri, Jan 23, 2015 at 06:45:10PM -0800, Eliot Miranda wrote:
Hi David,
On Thu, Jan 22, 2015 at 5:48 PM, David T. Lewis lewis@mail.msen.com wrote:
On Fri, Jan 23, 2015 at 12:42:03AM +0000, commits@source.squeak.org wrote:
Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1026.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1026 Author: eem Time: 22 January 2015, 4:41:41.71 pm UUID: 58161d66-0b23-4356-89f1-8e951fd1a1d9 Ancestors: VMMaker.oscog-eem.1025
Fix type regression in primitiveBitShift due to 64-bits.
Is there a new issue here? As far as I know, this primitive has been working properly for all combinations of 32/64 bit host and image for quite a while. Is this something new related to the extended range of small integers on Spur? Just curious.
Yes, this is a new issue. I rewrote the primitive so that it worked with
Spur 61-bit SmallIntegers, hence I replaced
integerReceiver := self popPos32BitInteger.
with objectMemory wordSize = 4 ifTrue: [integerReceiver := self positive32BitValueOf: integerReceiver] ifFalse: [integerReceiver := self signed64BitValueOf: integerReceiver].
and in the Cog VMMaker that changed the type computed for integerReceiver. I just added a declaration to override the type inferencer. So it's a new issue, and Cog branch only.
Ah, I see now. Thanks.
Dave
vm-dev@lists.squeakfoundation.org