Eliot Miranda uploaded a new version of Cog to project VM Maker: http://source.squeak.org/VMMaker/Cog-eem.192.mcz
==================== Summary ====================
Name: Cog-eem.192 Author: eem Time: 19 August 2014, 2:58:28.826 pm UUID: 2ee6c024-c179-48ee-ac77-9f1a3eb5c458 Ancestors: Cog-eem.191
Fix SpurBootstrap>>cloneMethodProxy: when running on V3.
=============== Diff against Cog-eem.191 ===============
Item was changed: ----- Method: SpurBootstrap>>cloneMethodProxy: (in category 'bootstrap methods') ----- cloneMethodProxy: proxy "<VMCompiledMethodProxy>" | bytes newMethod delta | bytes := proxy size - proxy initialPC + 1. delta := proxy primitive > 0 ifTrue: [3] ifFalse: [0]. newMethod := CompiledMethod newMethod: bytes + delta + header: (self headerForOldMethodHeader: (oldHeap integerObjectOf: proxy header)). - header: (self convertOldMethodHeader: (oldHeap integerObjectOf: proxy header)). 1 to: proxy numLiterals - 1 do: [:i| newMethod literalAt: i put: (proxy literalAt: i)]. newMethod literalAt: proxy numLiterals put: (Smalltalk bindingOf: #Character). delta > 0 ifTrue: [newMethod at: newMethod initialPC + 0 put: 139; at: newMethod initialPC + 1 put: (proxy primitive bitAnd: 16rFF); at: newMethod initialPC + 2 put: (proxy primitive bitShift: -8)]. proxy initialPC to: proxy size do: [:i| newMethod at: i + delta put: (proxy at: i)]. ^newMethod!
Item was added: + ----- Method: SpurBootstrap>>headerForOldMethodHeader: (in category 'bootstrap image') ----- + headerForOldMethodHeader: methodHeaderOop + ^self isOnSpur + ifTrue: [self convertOldMethodHeader: methodHeaderOop] + ifFalse: [oldHeap integerValueOf: methodHeaderOop]!
Item was added: + ----- Method: SpurBootstrap>>isOnSpur (in category 'testing') ----- + isOnSpur + ^$c class instSize = 0!
vm-dev@lists.squeakfoundation.org