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

commits at source.squeak.org commits at source.squeak.org
Sat Jan 6 05:28:08 UTC 2018


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

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

Name: Compiler-eem.367
Author: eem
Time: 5 January 2018, 9:27:53.33704 pm
UUID: 27d11be7-248b-4525-958e-20cfc05779b3
Ancestors: Compiler-eem.366

Uh, no.  reindexingLiteralsDo: does have to deal with the selectorSet specially.

=============== Diff against Compiler-eem.366 ===============

Item was changed:
  ----- Method: BytecodeEncoder>>reindexingLiteralsDo: (in category 'code generation') -----
  reindexingLiteralsDo: aBlock
  	| savedNodes saveBlock |
  	savedNodes := IdentityDictionary new.
  	saveBlock := [:node| savedNodes at: node put: node shallowCopy].
  	litSet do: saveBlock.
  	litIndSet do: saveBlock.
  	selectorSet do: saveBlock.
  	^aBlock ensure:
  		[| restoreBlock |
  		 restoreBlock := [:node| node resetFromCopy: (savedNodes at: node)].
  		 litSet do: restoreBlock.
  		 litIndSet do: restoreBlock.
+ 		 selectorSet do: [:node| node resetFromCopy: (savedNodes at: node ifAbsent: [node])]]!
- 		 selectorSet do: restoreBlock]!



More information about the Squeak-dev mailing list