[Vm-dev] VM Maker: VMMaker-dtl.414.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Mar 1 23:02:14 UTC 2020


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]!



More information about the Vm-dev mailing list