The Trunk: Compiler-eem.365.mcz

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

The Trunk: Compiler-eem.365.mcz

commits-2
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]!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Compiler-eem.365.mcz

Eliot Miranda-2
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, <[hidden email]> 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


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Compiler-eem.365.mcz

Eliot Miranda-2


On Fri, Jan 5, 2018 at 8:39 PM, Eliot Miranda <[hidden email]> 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, <[hidden email]> 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



--
_,,,^..^,,,_
best, Eliot