[Pharo-project] [update 1.3] #13127 - 13129

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Fri Apr 1 18:26:26 CEST 2011


Eliot signalled recently in squeak-dev that a Compiler recompileAll
was necessary because of some decompiler edge cases, but I did not
understand fully why.
Maybe we can differ it after integrating Issue 2559

Nicolas

2011/4/1 Marcus Denker <marcus.denker at inria.fr>:
> [update 1.3] #13127 - 13129
>
> Issue 3934:     Add isDisplayed in SystemWindow (Benjamin)
> Issue 3933:     Better behavior for selection in PluggableListMorphOfMany and PluggableMorphListMorphOfMany (Benjamin)
> Issue 2360:     [Failing Test] nil out locals in a block if readBeforeWritten (Nicolas)
>
> Thanks a lot Nicolas!!
>
> Part1:
>
> First stage for reducing Squeak/Pharo Compiler differences:
> This is a pre-requisite for
> issue 2360
>
>
> - let visitor pattern #accept: return its own result rather than the node
> - remove old code generation methods
> - merge ByteCodeAgnosticMethodNode into MethodNode
>
> MessageNode initialize must be performed at the end of this stage.
>
> Part 2:
>
> - correctly move 'locationCounter localsPool' in MethodNode ivar (they were undeclared)
> - use #notOptimizedIn: rather #than noteOptimized.
> - do not optimize a todo that would overwrite its limit (common changes with 3677)
> - connect the OptimizedBlockLocalTempReadBeforeWrittenVisitor to nilReadBeforeWrittenTemps in optimized blocks
> - add #testOptimizedBlockLocalNilling1 and #testOptimizedBlockLocalNilling2
>
> Part 3:
>
> This change includes Compiler and Decompiler changes to handle optimized #repeat loops.
> Note that MessageNode class>>#initialize of Part2 already includes necessary hook.
> (Sorry, some methods have changed several times in trunk, and it's easier to upgrade several fixes at once).
> If you don't want this change in Pharo (why ?) then don't forget to change  MessageNode class>>#initialize
>
>
>
>
>
> --
> Marcus Denker  -- http://www.marcusdenker.de
> INRIA Lille -- Nord Europe. Team RMoD.
>
>
>



More information about the Pharo-project mailing list