allObjectsDo: (was Re: [squeak-dev] The Inbox: System-cwp.662.mcz)

Igor Stasenko siguctua at gmail.com
Mon Jan 13 21:36:13 UTC 2014


On 13 January 2014 19:31, Eliot Miranda <eliot.miranda at gmail.com> wrote:


>
>>> Oh, I missed this one. I can't check now, could it cleanly address my
>> hugly trick of modifying the header like explained at
>>
>> http://smallissimo.blogspot.fr/2013/04/still-hacking-largeintegerplugins-in.html?
>>
>
> It would on SqueakV3.  On Spur it could be more difficult as there's no
> support for one-double-word free objects, so one can'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.
>

12*9* bits? :)


>  So such fragments are only reclaimable if an object next to them is
> freed.  They can't be compacted because there's no forwarding pointer.  So
> I expect in Spur I'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.
>
> HTH,
> Eliot
>
>
>
>

-- 
Best regards,
Igor Stasenko.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20140113/12e00297/attachment.htm


More information about the Squeak-dev mailing list