Hi Chris,<div><br></div><div> can you package up a reproducible case and point me to the image? By reproducible I mean save the image with a doit that invokes the code that creates the bug, e.g.</div><div><br><span class="Apple-style-span" style="border-collapse:collapse;font-family:arial,sans-serif;font-size:14px">Smalltalk <span class="il" style="background-image:initial;background-color:rgb(255,255,204);color:rgb(34,34,34);background-repeat:initial initial">saveAs</span>: 'crash'.<br>
<div class="im" style="color:rgb(80,0,80)">Gofer it<br> url: '<a href="http://www.squeaksource.com/MetacelloRepository" target="_blank" style="color:rgb(17,85,204)">http://www.squeaksource.com/MetacelloRepository</a>';<br>
package: 'ConfigurationOfFFI';<br> load.<br>(Smalltalk at: #ConfigurationOfFFI) project stableVersion load.</div><div class="im" style="color:rgb(80,0,80)"><br></div><div class="im" style="color:rgb(80,0,80)">
<br></div></span><div class="gmail_quote">On Wed, Mar 6, 2013 at 4:06 PM, Chris Muller <span dir="ltr"><<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks Eliot. Unfortunately, for me my app still crashes instantly with:<br>
<br>
-----------<br>
[ ... big stack trace ... ]<br>
stack page bytes 4096 available headroom 3300 minimum unused headroom 2596<br>
<br>
(last object overwritten)<br>
-----------<br>
<br>
2640 is stable for me (as long as I don't use a write-barrier).<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
On Tue, Mar 5, 2013 at 4:45 PM, Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>> wrote:<br>
> at <a href="http://www.mirandabanda.org/files/Cog/VM/VM.r2697/" target="_blank">http://www.mirandabanda.org/files/Cog/VM/VM.r2697/</a><br>
><br>
> CogVM binaries as per VMMaker.oscog-eem.270/r2697<br>
><br>
> Fix the become issue where methods that are identical are failing<br>
> the code test because their penultimate literals are different objects.<br>
> Add a flag "cmUsesPenultimateLit" to jitted methods, stealing bits<br>
> from stackCheckOffset (which was way larger than needed).<br>
> Shrink stackCheckOffset to 12 bits (still an order of magnitude larger<br>
> than needed) and add an error check on assigning it.<br>
> Also add a check for max method size (2^16-1 bytes) and refuse to<br>
> jit a method that generates too much code.<br>
> When comparing code, use the cmUsesPenultimateLit flag to decide<br>
> if comparison includes penultimate lit or not.<br>
><br>
> This is mildly insane, but the VM really doesn't know about the penultimate<br>
> literal and it shouldn't depend on knowing it can be ignored. Note that the<br>
> CoInterpreter knows about the last literal; it uses this in supersends.<br>
> With this hack, Pharo's condenseSources works.<br>
><br>
> Fix bug in primitiveClone/cloneContext: that causes the copy to be a word<br>
> short.<br>
> Use isPointerNonInt: and isContextNonInt: in a few places.<br>
><br>
> Implement unknownBytecode. Send unknownBytecode to the activeContext on<br>
> unknown bytecode if the selector is in the specialObjectsArray.<br>
><br>
> Fix page size bug in platforms/Cross/vm/sqHeapMap.c.<br>
><br>
> --<br>
> best,<br>
> Eliot<br>
><br>
><br>
><br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>
</div>