[squeak-dev] The Trunk: Compiler-eem.365.mcz
commits at source.squeak.org
commits at source.squeak.org
Sat Jan 6 04:21:24 UTC 2018
Eliot Miranda uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-eem.365.mcz
==================== Summary ====================
Name: Compiler-eem.365
Author: eem
Time: 5 January 2018, 8:21:15.192014 pm
UUID: e3702a86-124d-46ca-bd7d-0707ab249ab4
Ancestors: Compiler-eem.364
Make reindexingLiteralsDo: more robust when literals get added during blocks and hence weren't saved before the block was generated.
=============== Diff against Compiler-eem.364 ===============
Item was changed:
----- Method: BytecodeEncoder>>reindexingLiteralsDo: (in category 'code generation') -----
reindexingLiteralsDo: aBlock
| savedLiterals saveBlock |
savedLiterals := PluggableDictionary new equalBlock: litSet equalBlock.
saveBlock := [:assoc| savedLiterals at: assoc key put: assoc value shallowCopy].
litSet associationsDo: saveBlock.
litIndSet associationsDo: saveBlock.
selectorSet associationsDo: saveBlock.
^aBlock ensure:
[| restoreBlock |
+ restoreBlock := [:assoc| assoc value resetFromCopy: (savedLiterals at: assoc key ifAbsent: [assoc value])].
- restoreBlock := [:assoc| assoc value resetFromCopy: (savedLiterals at: assoc key)].
litSet associationsDo: restoreBlock.
litIndSet associationsDo: restoreBlock.
selectorSet associationsDo: restoreBlock]!
More information about the Squeak-dev
mailing list
|