<br><br><div class="gmail_quote">On Mon, Apr 5, 2010 at 10:37 AM, Andreas Raab <span dir="ltr">&lt;<a href="mailto:andreas.raab@gmx.de">andreas.raab@gmx.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On 4/5/2010 4:04 AM, Levente Uzonyi wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It&#39;s a decompiler bug. Eliot has fixes for these issues but I don&#39;t know<br>
if he has time to add them to the Trunk.<br>
</blockquote>
<br></div>
I just spoke with Eliot and it seems unlikely that he&#39;ll have much time to work on this. Also, there are cases that the decompiler handles correctly, but differently from the compiler.<br>
<br>
Eliot&#39;s recommendation to extent DecompilerTests&gt;&gt;decompilerFailures with the failing sites.<br></blockquote><div><br></div><div>Some saintly person should go through the failures and add to decompilerFailures all those that fail because of known limitations in the decompiler.  These limitations are things like</div>
<div><br></div><div>Floating point reader precision, e.g. the source specifies more precision than is supported and so the compilation of the decompilation is slightly different.</div><div><br></div><div>Unreachable statements. e.g. foo ifTrue: [^bar] ifFalse: [^baz]. ^huh? decompiles as foo ifTrue: [^bar] ifFalse: [^baz]. and so ^&#39;huh?&#39; is missing.</div>
<div><br></div><div>Null statements.  e.g. foo ifTrue: []. decompiles as foo.  which, if foo is an inst var, compiles as empty.</div><div><br></div><div>These are limitations in the decompiler we simply have to tolerate.  decompilerFailures is a list that documents the reasons for failure.</div>
<div><br></div><div>Of course another, also valid, approach is to fix the code in the failures so that they don&#39;t contain unreachable or null statements.</div><div><br></div><div>HTH</div><div>Eliot</div><div><br></div>
<div><br></div><div> </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Cheers,<br><font color="#888888">
  - Andreas<br>
<br>
</font></blockquote></div><br>