<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On 13 January 2014 19:31, Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt;</span> wrote:<div>
 </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5"><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">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br></blockquote></div></div><div>Oh, I missed this one. I can&#39;t check now, could it cleanly address my hugly trick of modifying the header like explained at<br><a href="http://smallissimo.blogspot.fr/2013/04/still-hacking-largeintegerplugins-in.html" target="_blank">http://smallissimo.blogspot.fr/2013/04/still-hacking-largeintegerplugins-in.html</a> ?</div>

</div></div></div></blockquote><div><br></div></div></div><div>It would on SqueakV3.  On Spur it could be more difficult as there&#39;s no support for one-double-word free objects, so one can&#39;t free a singe 64-bit pair (objects are rounded up to 64-bits in length).  But perhaps you should inflict this on me to force my hand ;-).  The problem is that a single 64-bit word is big enough for an object header but not for an object header plus an indirection in the first slot, which takes 129 bits, when rounded up to a 64-bit boundary. </div>
</div></div></div></blockquote><div><br></div><div>12*9* bits? :)<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">
<div class="gmail_quote"><div> So such fragments are only reclaimable if an object next to them is freed.  They can&#39;t be compacted because there&#39;s no forwarding pointer.  So I expect in Spur I&#39;d just have to disable the code and always create the copy.  However, what *can* be shortened, always, is the last object in eden.  So if the object is newly created it can easily be shortened; all that needs ot happen is the allocation pointer, freeStart, is cut-back.</div>

<div><br></div><div>HTH,</div></div><div>Eliot</div>
</div></div>
<br><br>
<br></blockquote></div><br clear="all"><br>-- <br>Best regards,<br>Igor Stasenko.
</div></div>