David T. Lewis uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker-dtl.414.mcz
==================== Summary ====================
Name: VMMaker-dtl.414 Author: dtl Time: 1 March 2020, 6:02:04.091 pm UUID: ba7b0d94-ec3e-4744-8fff-788c6b31790d Ancestors: VMMaker-dtl.413
Fix some accumulated breakage in SlangTest. Back out a partial oscog merge by disabling shouldIncludeReceiverAsFirstArgument: test in TSendNode>>argumentsForInliningCodeGenerator: because it is not currently needed and breaks tests. Handle nil args in TSendNode>>printOn:level: to accomodate the hack for oscog cpp compatibility added in VMMaker-dtl.412. Update expectedFailures to identify two tests that document known bugs but for which no fix is available. SlangTest is now green.
=============== Diff against VMMaker-dtl.413 ===============
Item was changed: + ----- Method: SlangTest>>expectedFailures (in category 'running') ----- - ----- Method: SlangTest>>expectedFailures (in category 'testing') ----- expectedFailures + ^#( + testSetInstanceVariableWithAnAccessorMethod . "inliner limitation, enhancement required" + testIvarShouldNotBeRedeclaredAsLocal . "test added in VMMaker-dtl.278, fix not yet implemented" + testStatementListAsExpression "test added in VMMaker-dtl.386, fix not yet implemented" + )! - ^#( testSetInstanceVariableWithAnAccessorMethod )!
Item was changed: ----- Method: TSendNode>>argumentsForInliningCodeGenerator: (in category 'inlining support') ----- argumentsForInliningCodeGenerator: aCodeGen + "^(self shouldIncludeReceiverAsFirstArgument: aCodeGen) - ^(self shouldIncludeReceiverAsFirstArgument: aCodeGen) ifTrue: [{receiver}, arguments] + ifFalse: [arguments]" + + self flag: #FIXME. "above test not currently required, and breaks SlangTests tests" + ^arguments + ! - ifFalse: [arguments]!
Item was changed: ----- Method: TSendNode>>printOn:level: (in category 'printing') ----- printOn: aStream level: level | possiblyParenthesize | possiblyParenthesize := [:node :newLevel| (node isSend and: [node selector precedence >= 3]) ifTrue: [aStream nextPut: $(]. node printOn: aStream level: newLevel. (node isSend and: [node selector precedence >= 3]) ifTrue: [aStream nextPut: $)]].
possiblyParenthesize value: receiver value: level. arguments size = 0 ifTrue: [aStream space; nextPutAll: selector. ^self]. selector keywords with: (arguments first: selector numArgs) do: [:keyword :arg | + arg ifNotNil: [ + aStream space; nextPutAll: keyword; space. + possiblyParenthesize value: arg value: level + 1]]! - aStream space; nextPutAll: keyword; space. - possiblyParenthesize value: arg value: level + 1]!
vm-dev@lists.squeakfoundation.org