[squeak-dev] The Trunk: Compiler-eem.465.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Dec 14 22:35:13 UTC 2021


Eliot Miranda uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-eem.465.mcz

==================== Summary ====================

Name: Compiler-eem.465
Author: eem
Time: 14 December 2021, 2:35:10.745443 pm
UUID: 7b05fe2b-b3a7-4776-804b-23cd44581644
Ancestors: Compiler-mt.464

Decompiler>>decompileBlock: shopuld use #== when matching block methods to block nodes, not #=.  It could get confused between blocks with the same code.

=============== Diff against Compiler-mt.464 ===============

Item was changed:
  ----- Method: Decompiler>>decompileBlock: (in category 'public access') -----
  decompileBlock: aBlock 
+ 	"Decompile aBlock, returning the result as a BlockNode.
+ 	 Show temp names from source if available."
- 	"Decompile aBlock, returning the result as a BlockNode.  
- 	Show temp names from source if available."
  	"Decompiler new decompileBlock: [3 + 4]"
+ 	"[3 + 4] decompile decompileString"
  	aBlock method decompileWithTemps
  		ifNil: [^nil]
  		ifNotNil:
  			[:methodNode|
  			 methodNode nodesDo:
  				(aBlock isFullBlock
+ 					ifTrue: [[:node| (node pc isVariableBinding and: [node pc key == aBlock method]) ifTrue: [^node]]]
- 					ifTrue: [[:node| (node pc isVariableBinding and: [node pc key = aBlock method]) ifTrue: [^node]]]
  					ifFalse: [[:node| node pc = aBlock startpc ifTrue: [^node]]])].
  	 ^self error: 'cannot find block node matching aBlock'!



More information about the Squeak-dev mailing list