<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Apr 7, 2015 at 7:39 AM, Levente Uzonyi <span dir="ltr"><<a href="mailto:leves@elte.hu" target="_blank">leves@elte.hu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">The decompiler is not perfect, and IIRC someone stated that it will never be. Most of these errors are "handled" by adding them as exceptions, so they are not tested. Some of these issues are probably fixable, but not many people are familiar with the decompiler.<br>
See DecompilerTests >> #decompilerFailures for the list of currently ignored methods.<span class=""><font color="#888888"><br>
<br>
Levente</font></span><div class=""><div class="h5"><br>
<br>
On Tue, 7 Apr 2015, Tobias Pape wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Hi<br>
<br>
<br>
On 04.04.2015, at 16:59, Frank Shearar <<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@gmail.com</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
On 3 April 2015 at 16:27, Tobias Pape <<a href="mailto:Das.Linux@gmx.de" target="_blank">Das.Linux@gmx.de</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Hey<br>
<br>
I am watching the CI doing its work as changes and fixes<br>
chime in.<br>
I noticed that there are still 13 test failing[1] and I'm<br>
not sure how all of them should be fixed :)<br>
Let's make it green!<br>
</blockquote>
<br>
I am _very very happy_ to see someone other than me harping on about<br>
tests! Please carry on!<br>
<br>
This one ought to be easy to fix: it's a small breakage in the<br>
modularity of the image; some methods need to be recategorised as not<br>
being System: <a href="http://build.squeak.org/job/SqueakTrunk/1207/testReport/Tests.Dependencies/PackageDependencyTest/testSystem/" target="_blank">http://build.squeak.org/job/<u></u>SqueakTrunk/1207/testReport/<u></u>Tests.Dependencies/<u></u>PackageDependencyTest/<u></u>testSystem/</a><br>
<br>
This one too: <a href="http://build.squeak.org/job/SqueakTrunk/1207/testReport/Tests.Dependencies/PackageDependencyTest/testTools/" target="_blank">http://build.squeak.org/job/<u></u>SqueakTrunk/1207/testReport/<u></u>Tests.Dependencies/<u></u>PackageDependencyTest/<u></u>testTools/</a><br>
(Tools shouldn't depend on _ToolBuilder-Morphic_, even though it would<br>
be OK to depend on ToolBuilder.)<br>
<br>
And I love that this one fails -<br>
<a href="http://build.squeak.org/job/SqueakTrunk/1207/testReport/Tests.Dependencies/PackageDependencyTest/testMultilingual/" target="_blank">http://build.squeak.org/job/<u></u>SqueakTrunk/1207/testReport/<u></u>Tests.Dependencies/<u></u>PackageDependencyTest/<u></u>testMultilingual/</a><br>
- Multilingual no longer depends on TrueType, and our system just got<br>
one dependency cleaner.<br>
</blockquote>
<br>
I did some things :)<br>
<br>
But I need help:<br>
There's a strange thing in the decompiler/compiler:<br>
<br>
<a href="http://build.squeak.org/job/SqueakTrunk/lastCompletedBuild/testReport/Tests.Compiler/DecompilerTests/testDecompilerInClassesBAtoBM/" target="_blank">http://build.squeak.org/job/<u></u>SqueakTrunk/<u></u>lastCompletedBuild/testReport/<u></u>Tests.Compiler/<u></u>DecompilerTests/<u></u>testDecompilerInClassesBAtoBM/</a><br>
<br>
Somewhere in Behavior>>#toolIconSelector:,<br>
a sequence of 'push nil. pop' is generated that is decompiled as 'nil.'.<br>
This does not match the source and I don't know whether it's a bug in<br>
the Compiler emitting this or the Decompiler not recognizing the emitted<br>
pattern.<br></blockquote></div></div></blockquote><div><br></div>Ah, I see it.<div class="gmail_extra"><br></div><div>Look the end of this block:</div><div><div><span class="" style="white-space:pre">        </span>self methodDictionary at: aSymbol ifPresent: [ :method |</div><div><span class="" style="white-space:pre">                ...</span></div><div><span class="" style="white-space:pre">                </span>method hasReportableSlip ifTrue: [^ #breakpoint]].</div></div><div><br></div><div>The block (correctly) answers nil if method hasReportableSlip is false, and the bytecode contains a pushConstant: nil; blockReturn sequence to implement this. So the problem is with the decompiler not eliminating the explicit nil node in this case where it should be implicit.</div><div><br></div><div>HTH</div></div>-- <br><div class="gmail_signature">best,<div>Eliot</div></div>
</div></div>