A new version of VMMaker was added to project VM Maker Inbox: http://source.squeak.org/VMMakerInbox/VMMaker.oscog-fn.2757.mcz
==================== Summary ====================
Name: VMMaker.oscog-fn.2757 Author: fn Time: 29 May 2020, 10:29:35.998527 am UUID: 52be099f-82ff-4e19-a4d7-cebeb9271919 Ancestors: VMMaker.oscog-ul.2756
Update and fix SlangTests>>testSimpleMethod after recent sqInt-related changes.
=============== Diff against VMMaker.oscog-ul.2756 ===============
Item was changed: ----- Method: SlangTests>>testSimpleMethod (in category 'tests') ----- testSimpleMethod | codeGenerator tMethod code | codeGenerator := CCodeGenerator new. tMethod := codeGenerator compileToTMethodSelector: #extBBytecode in: StackInterpreter. self assert: #( #'[' byte #':=' self fetchByte #'.' self fetchNextBytecode #'.' extB #':=' #(numExtB #= 0 and: #'[' byte #> 127 #']') ifTrue: #'[' byte #- 256 #']' ifFalse: #'[' #(extB bitShift: 8) #+ byte #']' #'.' numExtB #':=' numExtB #+ 1 #'.' #'^' self #']') equals: (Scanner new scanTokens: tMethod parseTree printString). code := String streamContents: [:s| tMethod emitCCodeOn: s generator: codeGenerator]. code := code allButFirst: (code indexOfSubCollection: 'sqInt') - 1. self assert: #('sqInt' 'extBBytecode(void)' '{' 'sqInt' 'byte;' 'byte' '=' 'fetchByte();' 'fetchNextBytecode();' 'extB' '=' '((numExtB' '==' '0)' '&&' '(byte' '>' '0x7F)' '?' 'byte' '-' '256' + ':' '((((sqInt)((usqInt)(extB)' '<<' '8))))' '+' 'byte);' - ':' '(((usqInt)' 'extB' '<<' '8))' '+' 'byte);' 'numExtB' '+=' '1;' 'return' 'self;' '}') equals: (code findTokens: Character separators) asArray !
vm-dev@lists.squeakfoundation.org