<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 8, 2015 at 3:29 PM, Levente Uzonyi <span dir="ltr">&lt;<a href="mailto:leves@elte.hu" target="_blank">leves@elte.hu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">There&#39;s one difference between the two versions. Using Compiler-eem.300, the following methods are compiled with small frame instead of large frame:<br></blockquote><div><br></div><div>Thanks Levente; that&#39;ll be it.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
BitBltDisplayScanner&gt;&gt;#displayLines:in:clippedBy:<br>
GradientFillStyle&gt;&gt;#computePixelRampOfSize:<br>
InterpolatedGradientFillStyle&gt;&gt;#computePixelRampOfSize:<br>
NewParagraph&gt;&gt;#clickAt:for:controller:<br>
PackageInfo&gt;&gt;#changeRecordsForMethod:do:<br>
PaintBoxMorph&gt;&gt;#addBrushesOffImage:<br>
PaintBoxMorph&gt;&gt;#addShapeButtonsOffImage:onImage:<br>
PaintBoxMorph&gt;&gt;#addToolsOffImage:onImage:<br>
Paragraph&gt;&gt;#clickAt:for:controller:<br>
PianoRollScoreMorph&gt;&gt;#addNotes<br>
PolygonMorph&gt;&gt;#lineSegmentsDo:<br>
PostscriptCharacterScanner&gt;&gt;#displayLine:offset:leftInRun:<br>
SmalltalkImage&gt;&gt;#appendChangesTo:<br>
StrikeFontSet&gt;&gt;#characters:in:displayAt:clippedBy:rule:fillColor:kernDelta:on:<br>
SuperSwikiServer&gt;&gt;#fastParseEntriesFrom:<br>
TTFontReader&gt;&gt;#processGlyphDataTable:offsets:<br>
TextStyle class&gt;&gt;#fontMenuForStyle:target:selector:highlight:<br>
Unicode class&gt;&gt;#parseCompositionMappingFrom:<br>
<br>
Levente<div class="HOEnZb"><div class="h5"><br>
<br>
On Tue, 7 Jul 2015, David T. Lewis wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Tue, Jul 07, 2015 at 05:20:52PM -0700, Eliot Miranda wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi David,<br>
<br>
On Tue, Jul 7, 2015 at 4:33 PM, David T. Lewis &lt;<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
The problem was introduced in Compiler-eem.300, which does this:<br>
<br>
    Use the size/emitPushNClosureTemps: api in block generation.<br>
<br>
There are two affected methods:<br>
<br>
    BlockNode&gt;&gt;sizeCodeForEvaluatedClosureValue:<br>
    BlockNode&gt;&gt;emitCodeForEvaluatedClosureValue:encoder:<br>
<br>
Reverting these two methods fixes the problem.<br>
<br>
I don&#39;t know the background on this change but my guess would be that<br>
it is something that works on a stack interpreter but not on a context<br>
interpreter, so maybe the methods need to be tweaked to account for the<br>
difference.<br>
<br>
</blockquote>
<br>
It should make no difference to the code produced.  It adds a new way of<br>
saying &quot;push N nils&quot; that allows the Sista bytecode set to use its<br>
&quot;pushNClosureNils&quot; bytecode to push several nils in one bytecode.  But with<br>
the standard encoder EncoderForV3PlusClosures exactly the same code as the<br>
previous version should be produced.<br>
<br>
How do the changes in the compiler cause the crash?<br>
<br>
</blockquote>
<br>
I don&#39;t know.<br>
<br>
I&#39;m doing brute-force debugging, just rolling the versions back until the<br>
problem goes away.<br>
<br>
All I can say with confidence is that those two methods changes, followed by<br>
a system recompile, result in an image that crashes a context interpreter VM.<br>
Reverting these two methods and recompiling brings the image back to a sane<br>
condition.<br>
<br>
It might turn out to be a trivial problem, but I am suggesting that we should<br>
temporarily revert and work it out after the 4.6 release.<br>
<br>
Dave<br>
<br>
<br>
<br>
</blockquote>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">best,<div>Eliot</div></div>
</div></div>