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]!
Hi Marcel, Hi David,
hmm, I went ahead and made the split anyway but I think I've just complicated things unnecessarily. I'm still having to wait for the very slow "Checking for undeclared symbols" pass to complete before being asked. So I may revert (and feel free to revert if you don't like the code).
On Fri, Jan 5, 2018 at 8:21 PM, commits@source.squeak.org wrote:
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]!
On Fri, Jan 5, 2018 at 8:39 PM, Eliot Miranda eliot.miranda@gmail.com wrote:
Hi Marcel, Hi David,
hmm, I went ahead and made the split anyway but I think I've just
complicated things unnecessarily. I'm still having to wait for the very slow "Checking for undeclared symbols" pass to complete before being asked. So I may revert (and feel free to revert if you don't like the code).
Ugh, I nuked the version. Preferences don't get set until after the recompileAll step. Doh!
On Fri, Jan 5, 2018 at 8:21 PM, commits@source.squeak.org wrote:
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]!
-- _,,,^..^,,,_ best, Eliot
squeak-dev@lists.squeakfoundation.org