The Trunk: Compiler-eem.367.mcz

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

The Trunk: Compiler-eem.367.mcz

Eliot Miranda uploaded a new version of Compiler to project The Trunk:

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